Mã hóa

Base32

Mã hóa và giải mã Base32 (RFC 4648) — văn bản và tệp, ngay trong trình duyệt.

Base32, like Base64, encodes binary data as text, but uses an alphabet of only 32 characters (A-Z2-7) with no easily confused characters (0/O, 1/I). That's why Base32 shows up more often where a string might be typed by a person, not just copy-pasted.

How to use it

Common uses

Things to keep in mind

Base32 grows data by roughly 60% (versus ~33% for Base64) — a trade-off for broader compatibility with case-insensitive systems and manual entry.

Base32hex is a separate variant of the same standard with a different alphabet (0-9A-V) that preserves sort order — it's incompatible with plain Base32.

Bài viết về công cụ này: Base32: khác gì với Base64 và khi nào tiện hơn

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

Base32 khác Base64 như thế nào?

Base32 dùng bảng chữ cái nhỏ hơn gồm 32 ký tự (A-Z và 2-7), giúp không phân biệt hoa thường và không có ký tự dễ gây nhầm lẫn. Vì vậy nó phổ biến cho khóa bí mật TOTP, nhãn DNS và tên tệp, nhưng đổi lại kết quả dài hơn.

Vì sao kết quả Base32 lại lớn hơn Base64 nhiều như vậy?

Base32 mã hóa 5 bit mỗi ký tự thay vì 6, nên kết quả lớn hơn khoảng 60% so với dữ liệu gốc — nhiều hơn đáng kể so với mức ~33% của Base64.

Công cụ này có gửi dữ liệu của tôi đi đâu không?

Không. Toàn bộ việc mã hóa và giải mã diễn ra ngay trong trình duyệt của bạn theo RFC 4648 — không có gì được tải lên máy chủ.

Vì sao bảng chữ cái Base32 không có chữ số 0 và 1?

Các chữ số này dễ bị nhầm với chữ cái O và I/l khi đọc hay nhập thủ công, nên chuẩn RFC 4648 cố tình loại chúng khỏi bảng chữ cái, chỉ giữ lại các ký tự không gây nhầm lẫn.

Base32 khác Base32hex ở điểm nào?

Base32hex (cùng thuộc RFC 4648) dùng bảng chữ cái 0-9A-V thay vì A-Z2-7 và giữ nguyên thứ tự sắp xếp của chuỗi giống như của byte gốc. Hai biến thể này không tương thích với nhau.

Bài viết: Mã hóa

Base64: mã hóa để làm gì và hoạt động ra sao

Base64 biến dữ liệu nhị phân thành văn bản ASCII như thế nào và khi nào thực sự cần đến nó.

URL Encode/Decode: percent-encoding trong liên kết

Các ký tự đặc biệt trong địa chỉ và tham số trở thành chuỗi %XX như thế nào.

HTML Entities: cách hiển thị ký tự đặc biệt an toàn

Vì sao các ký tự < > & cần được escape và điều đó giúp tránh hỏng mã HTML thế nào.

JWT: cấu trúc token và "giải mã" JWT nghĩa là gì

Header, payload và signature của JWT, và vì sao giải mã không giống với xác minh chữ ký.

Unicode Escape: chuỗi \uXXXX nghĩa là gì

Chuỗi kiểu \u0041 trong JSON và chuỗi JS đến từ đâu và chúng nghĩa là gì.

ROT13 và mật mã Caesar: thay thế ký tự đơn giản

Vì sao dịch 13 chữ cái khiến ROT13 tự nghịch đảo, và vì sao ngày nay người ta vẫn dùng nó.

Punycode: tên miền quốc tế hóa hoạt động thế nào trong DNS

Một tên miền chứa ký tự không phải Latinh trở thành dạng ASCII với tiền tố xn-- như thế nào.

Mã Morse: văn bản biến thành chấm và gạch ra sao

Nguyên lý mã hóa chữ cái thành chấm và gạch, và mã Morse còn được dùng ở đâu hiện nay.

Data URI: khi nào nên nhúng hình ảnh trực tiếp vào mã

Một Data URI nhúng nội dung tệp trực tiếp vào HTML hoặc CSS ra sao, và khi nào đáng làm vậy.

Gzip + Base64: nén dữ liệu để truyền dưới dạng văn bản

Vì sao dữ liệu nhị phân đã nén còn được mã hóa Base64 trước khi đưa vào trường văn bản.

XML Entities: escape ký tự trong tài liệu XML

Năm entity XML bắt buộc, thiếu chúng tài liệu sẽ hỏng khi phân tích cú pháp.