Bộ mã hóa tệp Base64
Funnel mode keeps the selected file in this browser for up to two hours so it can move between steps. It is not uploaded.
Base64 biến mọi tệp nhị phân thành chuỗi ASCII in được, có thể đi qua các hệ thống chỉ được thiết kế cho văn bản: JSON, YAML, nội dung email, SMS, sao chép-dán vào chat. Bộ mã hóa này nhận một tệp bất kỳ, PDF, ảnh, ZIP, thậm chí tệp thực thi, rồi trả về biểu diễn Base64 sẵn để đặt vào URI data:, phần thân yêu cầu API hoặc tệp cấu hình.
Cách mã hóa một tệp
-
1
Thả bất kỳ tệp nào vào bộ mã hóa
Mọi định dạng nhị phân đều dùng được. Trình duyệt đọc byte thô.
-
2
Các byte được mã hóa Base64
Mỗi ba byte trở thành bốn ký tự ASCII từ bảng chữ cái `A-Z a-z 0-9 + /`.
-
3
Chọn định dạng đầu ra
Base64 thuần, URI `data:` với MIME type do trình duyệt báo cáo (hoặc giá trị dự phòng chung), hoặc phiên bản an toàn cho chuỗi JSON.
-
4
Sao chép hoặc tải xuống dạng văn bản
Với tệp lớn, tải xuống `.txt`; với tệp nhỏ, sao chép vào clipboard.
Chi phí tăng kích thước
Base64 làm mỗi ba byte phình thành bốn ký tự, tăng 33% chi phí lưu trữ và mạng. Padding bằng = thêm vài byte nữa. Ước lượng nhanh:
| Kích thước tệp đầu vào | Kích thước văn bản Base64 |
|---|---|
| 1 KB | 1.33 KB |
| 100 KB | 133 KB |
| 1 MB | 1.33 MB |
| 10 MB | 13.3 MB |
Nhúng tệp nhị phân lớn dưới dạng Base64 trong HTML hoặc JSON là cách rất nhanh để làm phình thời gian tải trang và bộ nhớ của trình phân tích cú pháp. Chỉ nhúng trực tiếp thứ gì lớn hơn khoảng 10 KB khi ràng buộc triển khai buộc phải làm vậy.
Trường hợp dùng phổ biến
- URI dữ liệu, Ảnh nhỏ nhúng trực tiếp trong CSS hoặc HTML:
url("data:image/png;base64,iVBORw0KGgo..."). - Tệp đính kèm email, Nội dung MIME nhiều phần mã hóa tệp đính kèm bằng Base64 để vận chuyển an toàn qua SMTP.
- Phần thân JSON, Nhúng PDF hoặc ZIP trong một trường JSON cho API chỉ gọi một lần.
- Tệp YAML/cấu hình, Đưa khóa TLS hoặc khối nhị phân nhỏ vào tệp cấu hình.
Biến thể và padding
Bảng chữ cái Base64 chuẩn theo RFC 4648 có 64 ký hiệu: A-Z, a-z, 0-9, + và /. Ký tự = là phần đệm, không thuộc bảng chữ cái. Với đầu ra URL-safe (thay + bằng - và / bằng _), hãy dùng nút riêng. Phần đệm được bật mặc định và có thể tắt.
Ghi chú quyền riêng tư
Tệp không bao giờ rời khỏi thiết bị của bạn. FileReader API đọc byte trong trình duyệt và JavaScript thực hiện mã hóa. Điều này quan trọng khi mã hóa PDF nhạy cảm, khóa riêng tư hoặc tài nguyên chưa phát hành.
Câu hỏi thường gặp
Bộ mã hóa nhận một tệp có dung lượng tối đa 50 MB. Kết quả Base64 lớn hơn tệp nguồn và được giữ trong bộ nhớ trình duyệt, vì vậy giới hạn cứng này giúp tránh dùng quá nhiều bộ nhớ.
Dùng khi cần bảng chữ cái phù hợp với URL hoặc tên tệp. Base64 URL-safe (RFC 4648 phần 5) thay + bằng - và / bằng _; tùy chọn padding riêng quyết định có giữ các ký tự = ở cuối hay không.
Chỉ với đầu ra URI data:. data:image/png;base64,... cho trình duyệt biết cách render byte đã giải mã. Với Base64 thuần hoặc nhúng JSON, MIME type không phải là một phần của dữ liệu đã mã hóa.
HTML có thể chứa URL data:application/pdf;base64,..., nhưng trình duyệt hiện đại thường chặn điều hướng cấp cao nhất đến URL data: và hành vi tải xuống không đáng tin cậy trên mọi trình duyệt. Giá trị lớn cũng có thể chạm giới hạn URL, bộ nhớ hoặc Content Security Policy. Để tải xuống ổn định, hãy tạo URL đối tượng Blob trong mã trình duyệt hoặc liên kết tới tệp được lưu trữ qua HTTPS.
Công cụ liên quan
Mã hóa / giải mã AES
Mã hóa và giải mã văn bản rủi ro thấp bằng các cipher AES của OpenSSL. Cụm mật khẩu được băm SHA-256 và đầu ra Base64 gồm IV cộng bản mã.
Bộ mã hóa và giải mã Base85
Mã hóa và giải mã Base85 theo biến thể Adobe Ascii85 (PostScript/PDF) hoặc Z85 (ZeroMQ). Gọn hơn Base64 cho dữ liệu nhị phân.
Trình tạo bcrypt
Tạo hash bcrypt từ mật khẩu plaintext. Tùy chỉnh cost factor từ 4 đến 14, tương thích với Laravel, Django, Node và PHP.
Bộ mã hóa và giải mã Base32
Mã hóa và giải mã chuỗi Base32 bằng bảng chữ cái RFC 4648. Hữu ích cho TOTP secrets, token không phân biệt hoa thường và mã định danh do người nhập.
Trình tạo hash bcrypt
Tạo hash bcrypt hoặc verify mật khẩu plaintext với hash bcrypt hiện có. Chế độ tạo và verify đặt cạnh nhau trong một công cụ.
Bộ mã hóa mật mã Caesar
Mã hóa và giải mã văn bản bằng mật mã Caesar. Hỗ trợ mọi độ dịch 1-25, có ROT13 như một trường hợp đặc biệt, giữ nguyên dấu câu và chữ hoa/thường.