Mã hóa Base64

Dán văn bản bên dưới và nhấp Mã hóa để chuyển đổi sang Base64. Hỗ trợ văn bản UTF-8. Mọi xử lý đều diễn ra cục bộ trong trình duyệt của bạn.

Đã sao chép!

Base64 Encoding là gì?

Base64 là một phương thức mã hóa nhị phân sang văn bản, biểu diễn dữ liệu nhị phân dưới dạng chuỗi ASCII. Nó thường được sử dụng để nhúng hình ảnh trong HTML/CSS, truyền dữ liệu trong URL, mã hóa tệp đính kèm email (MIME), và lưu trữ dữ liệu phức tạp trong JSON hoặc XML.

Phương thức mã hóa sử dụng 64 ký tự: A-Z, a-z, 0-9, +, và /, với = dùng để đệm.

Trang này mã hoá bằng chính hàm Base64 của trình duyệt, nên kết quả đúng như bất kỳ thư viện chuẩn nào tạo ra: bộ ký tự chuẩn, đệm bằng dấu bằng, trên một dòng. Không có gì được tải lên và không có gì được lưu lại.

Bạn đang gỡ lỗi thứ gì đó không chịu giải mã?

Một payload không chịu giải mã thường là triệu chứng chứ không phải lỗi gốc: mã hoá hai lần ở đâu đó trong đường ống, bộ ký tự được đoán thay vì được khai báo, một token ký trên những byte không hẳn là byte mà ai đó trông đợi. Chúng tôi làm đúng loại việc này, trên các tích hợp, API và những hệ thống chuyền dữ liệu qua lại.

Cho chúng tôi biết chỗ nào đang hỏng

Câu hỏi thường gặp

Mã hoá Base64 dùng để làm gì?
Nó tồn tại để đưa byte đi qua những kênh chỉ chở văn bản một cách đáng tin cậy. Tệp đính kèm email, data URI trong CSS và HTML, trường JSON phải chứa một tệp, khoá và chứng chỉ dạng PEM, cùng header xác thực HTTP cơ bản đều dùng nó. Đây không phải nén và cũng không phải mã hoá: đó là cách viết ra những byte bất kỳ bằng 64 ký tự sống sót qua gần như mọi đường truyền.
Vì sao Base64 lớn hơn bản gốc khoảng một phần ba?
Vì nó tiêu bốn ký tự cho mỗi ba byte. Ba byte là 24 bit, và Base64 chia số đó thành bốn nhóm sáu bit, mỗi nhóm thành một ký tự. Đó là tỷ lệ cố định bốn trên ba, tức là nhiều hơn khoảng 33 phần trăm, trước cả khi thêm ký tự đệm và ngắt dòng.
Base64 có phải là một dạng mã hoá bảo mật không?
Không, và coi nó là mã hoá bảo mật chính là hiểu lầm phổ biến nhất về nó. Không có khoá và cũng chẳng có gì bí mật: ai cũng giải được một chuỗi Base64 chỉ trong một bước, kể cả trang này. Nó che dữ liệu khỏi cái nhìn thoáng qua và khỏi phần mềm không nuốt nổi byte thô, chỉ vậy thôi. Nếu nội dung cần được bảo vệ, hãy mã hoá nó, rồi đưa bản mã qua Base64 nếu đường truyền đòi hỏi văn bản.
Base64 chuẩn và Base64 an toàn cho URL khác nhau thế nào?
Khác đúng hai ký tự. Base64 chuẩn dùng dấu cộng và dấu gạch chéo cho giá trị 62 và 63, mà cả hai đều đã mang ý nghĩa riêng trong một URL nên ở đó chúng bị mã hoá phần trăm. Biến thể an toàn cho URL đổi chúng thành dấu gạch nối và gạch dưới. Trang này xuất ra bộ ký tự chuẩn; nếu cần dạng an toàn cho URL, hãy thay hai ký tự đó sau.
Có nên nhúng ảnh dạng Base64 vào CSS không?
Đôi khi, với ảnh rất nhỏ. Nhúng thẳng giúp bớt một yêu cầu, điều từng rất đáng giá, nhưng nó cũng làm ảnh lớn hơn khoảng một phần ba, khiến ảnh không thể được lưu đệm riêng khỏi tệp chứa nó, và giữ chân tệp kiểu dáng đó cho tới khi cả khối được phân tích xong. Nói nôm na, cách này đáng với biểu tượng vài trăm byte và hiếm khi đáng khi vượt vài kilobyte. Trên HTTP/2 và HTTP/3, một yêu cầu tiết kiệm được có giá trị thấp hơn xưa nhiều.