Mã hóa & Giải mã Base64
Chuyển văn bản và tệp sang Base64 và ngược lại. Xử lý Unicode chính xác, hỗ trợ base64url an toàn cho URL, và cho bạn biết chính xác vì sao đầu vào không hợp lệ.
Chạy trên trình duyệtKhông cần đăng kýKhông tải lên gì
Cách dùng Mã hóa / Giải mã Base64
- Chọn Mã hóa hoặc Giải mã.
- Nhập hoặc dán dữ liệu. Kết quả cập nhật ngay khi bạn gõ.
- Với URL, JWT và tên tệp, đánh dấu An toàn cho URL để dùng
-và_, và có thể bỏ padding=. - Để nhúng ảnh hoặc font, bấm Mã hóa tệp và giữ chọn Xuất dạng data URI.
- Sao chép kết quả, hoặc dùng Đảo chiều để đưa nó trở lại theo chiều ngược lại.
Base64 hoạt động như thế nào
Base64 biểu diễn dữ liệu nhị phân bằng 64 ký tự ASCII in được: A-Z, a-z, 0-9, + và /. Cứ 3 byte đầu vào trở thành 4 ký tự, nên dữ liệu đã mã hóa lớn hơn khoảng 33%. Khi độ dài đầu vào không chia hết cho 3, một hoặc hai dấu = được thêm vào để đệm. Base64 là mã hóa (encoding), không phải mã hóa bảo mật (encryption): ai cũng có thể giải mã nó.
Base64 chuẩn và base64url
Ký tự + và / có ý nghĩa đặc biệt trong URL và đường dẫn tệp. Bảng chữ cái an toàn cho URL trong RFC 4648 §5 thay chúng bằng - và _ và thường bỏ padding. JWT, nhiều tham số OAuth và một số API đám mây dùng base64url. Bộ giải mã ở đây tự động chấp nhận cả hai bảng chữ cái.
Unicode và cái bẫy của btoa()
Trong trình duyệt, btoa("café") chạy được nhưng btoa("日本") sẽ ném lỗi, vì btoa chỉ nhận Latin-1. Cách đúng là mã hóa văn bản thành byte UTF-8 trước, và công cụ này làm đúng như vậy. Trong JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), hoặc Buffer.from(text).toString('base64') trong Node.js.
Ứng dụng phổ biến
- Data URI cho ảnh nhỏ và font trong CSS hoặc HTML
- Header xác thực HTTP Basic (mã hóa
user:password) - Tệp đính kèm nhị phân trong payload JSON và email (MIME)
- Kubernetes Secrets, nơi giá trị được lưu dưới dạng Base64