Mã hóa Base64
Công cụ mã hóa / giải mã Base64 miễn phí online hỗ trợ UTF-8 / ASCII / ISO-8859-1 cùng các biến thể Standard / URL-Safe / MIME. Hiển thị tỷ lệ tăng kích thước theo thời gian thực.
Đề xuất Liên quan
Mã hóa Base64 là gì?
Base64 là cách chuyển dữ liệu nhị phân thành văn bản bằng 64 ký tự ASCII có thể in được. Nó giúp dữ liệu nhị phân đi qua các hệ thống chỉ hỗ trợ văn bản như HTTP header, JSON, XML hoặc tham số URL.
**Base64 không phải là mã hóa bảo mật**. Nó chỉ đổi định dạng dữ liệu. Nếu cần bảo vệ dữ liệu nhạy cảm, bạn phải dùng mã hóa thật như AES.
**URL-Safe Base64** thay + và / bằng - và _, đồng thời thường bỏ dấu = ở cuối. Kiểu này thường gặp trong JWT và OAuth PKCE.
**MIME wrapping** thêm xuống dòng sau mỗi 76 ký tự theo RFC 2045, chủ yếu dùng cho email và các trường hợp cần nội dung nhiều dòng.
Công cụ này dùng **btoa / atob** của trình duyệt kết hợp xử lý UTF-8 an toàn, nên mọi tính toán đều diễn ra cục bộ mà không gửi dữ liệu đi đâu.
Trường hợp sử dụng
- Debug JWT
- Tạo Basic Auth
- Phát triển OAuth / PKCE
- Giải mã hoặc mã hóa field Base64 trong API
- Nhúng ảnh bằng Data URI
- Chuẩn bị MIME Base64 cho tệp đính kèm email
Cách Sử dụng
- Chọn chế độ Encode hoặc Decode
- Chọn biến thể Standard, URL-Safe hoặc MIME
- Dán văn bản hoặc chuỗi Base64
- Xem thống kê kích thước ở phía dưới
- Sao chép kết quả
Tính năng
- Chuyển Encode / Decode chỉ với một lần bấm
- Hỗ trợ UTF-8, ASCII và ISO-8859-1
- Ba biến thể đầu ra: Standard, URL-Safe và MIME
- Thống kê kích thước theo thời gian thực
- Thông báo lỗi rõ ràng hơn
- Vạch chia có thể kéo trên desktop
- Tab riêng cho input / output trên mobile
Ví dụ mã
Mã hóa Base64 trong JavaScript
// Encode (UTF-8 safe)
function b64Encode(str) {
return btoa(unescape(encodeURIComponent(str)));
}
// Decode (UTF-8 safe)
function b64Decode(str) {
return decodeURIComponent(escape(atob(str)));
}Mã hóa Base64 trong Python
import base64
encoded = base64.b64encode('Hello thế giới'.encode('utf-8'))
print(encoded.decode())Mã hóa Base64 trong Java
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String encoded = Base64.getEncoder().encodeToString("Hello thế giới".getBytes(StandardCharsets.UTF_8));Câu hỏi Thường gặp
Mã hóa Base64 có phải là mã hóa bảo mật không?
Không. Base64 chỉ là cách biểu diễn lại dữ liệu ở dạng có thể đảo ngược, nên ai cũng có thể giải mã lại. Nếu cần bảo vệ dữ liệu nhạy cảm, hãy dùng mã hóa thật như AES.
Công cụ AESBase64 làm dữ liệu tăng kích thước bao nhiêu?
Thông thường khoảng 33%. Mỗi 3 byte dữ liệu gốc được đổi thành 4 ký tự Base64 nên đầu ra lớn hơn đầu vào.
Công cụ thống kê Base64Standard, URL-Safe và MIME khác nhau ở đâu?
Standard là Base64 thông thường. URL-Safe thay + và / bằng - và _, nên phù hợp với JWT và URL. MIME thêm xuống dòng sau mỗi 76 ký tự nên hợp với email và nội dung nhiều dòng.
URL-Safe Base64MIME Base64Làm sao giải mã header hoặc payload của JWT?
JWT dùng Base64URL. Hãy chọn chế độ URL-Safe rồi dán đoạn đầu (header) hoặc đoạn thứ hai (payload) của JWT để giải mã. Đoạn thứ ba là chữ ký.
Công cụ JWTPadding (=) trong Base64 là gì?
Chuỗi Base64 phải có độ dài là bội số của 4. Nếu dữ liệu đầu vào không chia hết cho 3 byte, ký tự = sẽ được thêm vào cuối để cân độ dài.
Công cụ Base64 PaddingVì sao btoa và atob trong JavaScript không hỗ trợ trực tiếp tiếng Việt có dấu hoặc emoji?
Vì chúng làm việc với chuỗi Latin-1, trong đó 1 ký tự tương ứng 1 byte. Với văn bản UTF-8 đa byte, bạn phải chuyển đổi an toàn trước khi đưa vào btoa.
Data URI Scheme là gì và dùng Base64 để nhúng ảnh như thế nào?
Data URI là định dạng nhúng dữ liệu trực tiếp trong URL theo cú pháp `data:[<mediatype>][;base64],<data>`. Nó phù hợp với icon nhỏ hoặc ảnh nền CSS, nhưng không thích hợp cho file lớn vì Base64 làm kích thước tăng lên.
Công cụ Data URIBase64 sang ảnhThuật ngữ
- RFC 4648
- Tiêu chuẩn IETF chính thức cho Base16 / Base32 / Base64, định nghĩa Base64 chuẩn và Base64 URL-safe.URL-Safe Base64Base64 Padding
- RFC 2045 (MIME)
- Tiêu chuẩn MIME quy định Base64 như một cách mã hóa nội dung email.MIME Base64
- Base64URL
- Biến thể Base64 an toàn cho URL, thay + bằng - và / bằng _.URL-Safe Base64JWT
- MIME Base64
- Biến thể Base64 có xuống dòng mỗi 76 ký tự theo RFC 2045.MIME Base64
- Padding
- Ký tự = được thêm vào cuối để đảm bảo chuỗi Base64 có độ dài là bội số của 4.Base64 Padding
- Bảng chữ cái Base64
- Tập ký tự A-Z, a-z, 0-9, + và / được Base64 chuẩn sử dụng.
- btoa / atob
- API gốc của trình duyệt để mã hóa và giải mã Base64.
- Data URI Scheme
- Định dạng URI cho phép nhúng dữ liệu trực tiếp vào URL.Data URIBase64 sang ảnh
- HTTP Basic Authentication
- Cơ chế xác thực HTTP trong đó username:password được mã hóa Base64 rồi gửi trong header Authorization.Trình tạo Auth Header
- Tỷ lệ phình Base64
- Mức tăng kích thước dữ liệu sau khi mã hóa Base64, thường vào khoảng 33%.
So sánh 3 biến thể Base64
| Đặc điểm | Standard | URL-Safe | MIME |
|---|---|---|---|
| Ký tự đặc biệt | + / | - _ | + / |
| Padding (=) | Có dùng | Thường bỏ | Có dùng |
| Xuống dòng | Không | Không | Mỗi 76 ký tự |
| Tiêu chuẩn | RFC 4648 §4 | RFC 4648 §5 | RFC 2045 |
| Tình huống thường gặp | Data URI, mã hóa chung | JWT, tham số URL, tên file | Tệp đính kèm email, SMTP |
Bảng so sánh các kiểu mã hóa họ Base
| Mã hóa | Số ký tự | Đặc điểm tập ký tự | Độ phình kích thước | Mục đích phổ biến |
|---|---|---|---|---|
Base16 (Hex) | 16 | 0-9, A-F | 100% | Debug, hiển thị hash |
Base32 | 32 | A-Z, 2-7 | 60% | DNS, khóa TOTP, QR code |
Base58 | 58 | Bỏ các ký tự dễ nhầm như 0/O/I/l | 38% | Địa chỉ Bitcoin, crypto |
Base62 | 62 | A-Z, a-z, 0-9 | 34% | URL rút gọn, mã ID |
Base64 | 64 | A-Z, a-z, 0-9, +, / | 33% | Data URI, MIME, JWT (URL-Safe) |
Authoritative References
- ReferenceRFC 4648 - The Base16, Base32, and Base64 Data Encodings
- ReferenceRFC 2045 - MIME Part One: Format of Internet Message Bodies
- ReferenceRFC 7519 - JSON Web Token (JWT)
- ReferenceMDN Web Docs - btoa()
- ReferenceMDN Web Docs - atob()
- ReferenceWikipedia - Base64
- So sánh chuỗi bảo mật
- Chuyển Đổi Nhị Phân
- Mật Mã Caesar
- Mã Morse
- Chuyển Đổi Hex
- Video sang Base64
- Base64 Sang Video
- Ảnh sang Base64
- Base64 sang ảnh
- Văn bản sang Base64
- Base64 Sang Văn Bản
- Trình kiểm tra hash tệp
- Tệp Sang Base64
- Base64 Sang Tệp
- Chuyển đổi Âm thanh sang Base64
- Base64 sang Âm thanh
- Mã hóa và giải mã AES
- Mã Hóa Giải Mã DES
- Bộ Mã Hóa Giải Mã Base32
- Base58 mã hóa và giải mã
- Mã hóa Base64
- Giải mã Base64
- So sánh Base64
- Chia Base64
- Base64 gộp nhiều dòng
- Định dạng Base64
- Kiểm Tra Định Dạng Base64
- Mã hóa Base64 hàng loạt
- Giải mã Base64 Hàng loạt
- Dọn dẹp Base64
- Xử lý padding Base64
- Thống Kê Độ Dài Base64
- Base64 Sang Hex
- Chuyển đổi Base64 DataURL
- Công cụ chuyển đổi Base64-Hex
- Bộ Mã Hóa Base85
- Tạo & Xác minh HMAC
- PBKDF2 Phái sinh khóa
- Băm MD5
- Hash SHA-256
- Băm SHA1
- Băm SHA512
- Công cụ JWT
- Mã hóa và giải mã HTML
- Escape Unicode
- Mã hóa URL
- URL Safe Base64
- MIME Base64
- Làm rối Java
- Làm rối JS
- Làm rối PHP
- Làm rối Python