Mã hóa/Giải mã Base32 (Nhị phân)

Xử lý 100% phía máy khách (không tải lên máy chủ). Mã hóa tệp nhị phân (byte) thành văn bản Base32 với bảng chữ cái có thể chọn (RFC 4648/Base32hex/Crockford), kiểm soát đệm, tùy chọn ngắt dòng và định dạng đầu ra dự đoán được.

Loading…

Giới thiệu Bộ Mã Hóa Nhị Phân Base32

Trang này tập trung vào mã hóa: tải lên một hoặc nhiều tệp nhị phân và chuyển đổi chúng thành văn bản Base32. Chọn bảng chữ cái (RFC 4648, Base32hex hoặc Crockford), kiểm soát đệm, đặt kiểu chữ và tùy chọn ngắt dòng đầu ra. Cần hướng ngược lại? Hãy sử dụng trang khác.

Tính năng

  • Mã hóa tệp nhị phân (File/Blob/Uint8Array/ArrayBuffer) thành văn bản Base32
  • Chọn phương ngữ Base32: RFC 4648 (Base32), RFC 4648 (Base32hex) hoặc Crockford Base32
  • Kiểm soát đệm (=): Tự động, Luôn bao gồm hoặc Bỏ qua
  • Kiểu chữ đầu ra: CHỮ HOA hoặc chữ thường (chế độ mã hóa)
  • Ngắt dòng tùy chọn: ngắt dòng ở 0–120 cột (0 tắt ngắt dòng)
  • Công cụ định dạng đầu ra: dấu phân cách dòng (LF hoặc CRLF) và dòng mới cuối tùy chọn
  • Quy trình làm việc vùng thả nhiều tệp để mã hóa hàng loạt (phía máy khách)
  • Xử lý 100% phía máy khách (không tải lên máy chủ).

Cách sử dụng for base32-binary-encoder

1

Dán hoặc thả tệp

Thả một hoặc nhiều tệp vào vùng tải lên (đầu vào nhị phân). Bộ mã hóa này yêu cầu byte (File/Blob/Uint8Array/ArrayBuffer), không phải chuỗi văn bản thuần túy.

2

Nhấp "Mã hóa"

Giữ Hành động là "Mã hóa tệp → Base32", chọn định dạng (RFC 4648 / Base32hex / Crockford) và điều chỉnh đệm, kiểu chữ, ngắt dòng và tùy chọn dòng mới khi cần.

3

Sao chép/Tải xuống

Sao chép đầu ra Base32 từ trình soạn thảo, hoặc tải xuống/xuất kết quả mã hóa cho các tệp của bạn (giao diện công cụ của bạn có thể tạo tên tệp như *.b32.txt).

Thông số kỹ thuật

Mô Hình Thực Thi

Tiết lộ thời gian chạy, ràng buộc và những gì bộ mã hóa chấp nhận cho biến thể trang này (mã hóa).

Khía cạnhChi tiết
Thời gian chạyXử lý 100% phía máy khách (không tải lên máy chủ).
Phạm vi biến thểChỉ mã hóa (Tệp/byte → văn bản Base32)
Loại đầu vàoFile/Blob/Uint8Array/ArrayBuffer/TypedArray (nhị phân). Chuỗi văn bản bị từ chối cho mã hóa.
Loại đầu raVăn bản (Base32)
Định dạngRFC 4648 (Base32), RFC 4648 (Base32hex), Crockford Base32
Điều khiển định dạngPadding (tự động/thêm/bỏ qua), chữ hoa/chữ thường, wrapLineLength (0–120), dấu phân cách dòng (LF/CRLF), chèn dòng mới cuối cùng
Giới hạn~1–2MB ký tự; ~25000 ms thời gian chờ
Lưu giữMọi xử lý diễn ra cục bộ trong trình duyệt của bạn (không tải lên)
Nếu bạn đang xử lý dữ liệu bí mật hoặc được quy định, hãy ưu tiên công cụ ngoại tuyến/cục bộ mặc dù trang này chạy cục bộ trong trình duyệt.

Ví dụ nhỏ

Một minh họa tối giản về kết quả mà bộ mã hóa tạo ra. (Đầu ra chính xác phụ thuộc vào định dạng, padding, kiểu chữ và xuống dòng được chọn.)

MụcGiá trị
Đầu vàoTệp nhị phân (byte)
Hành độngMã hóa tệp → Base32
Đầu raVăn bản Base32 (RFC 4648 / Base32hex / Crockford)
Với cùng byte đầu vào và cùng tùy chọn, đầu ra Base32 là xác định.

Lỗi & Trường hợp đặc biệt

Điều gì sẽ xảy ra khi đầu vào hoặc cài đặt không khớp với quy trình mã hóa.

Triệu chứngNguyên nhân có thểKiểm tra gì
Công cụ này mã hóa dữ liệu nhị phân… không phải chuỗi văn bảnBạn đã dán văn bản vào bề mặt chỉ mã hóa nhị phânTải lên tệp / cung cấp byte thay vì nhập văn bản
Loại đầu vào nhị phân không được hỗ trợĐầu vào không phải File/Blob/Uint8Array/ArrayBuffer/TypedArrayĐảm bảo trình duyệt cung cấp File/Blob hoặc mã của bạn truyền bộ đệm byte
Đầu vào quá lớn (tối đa 2MB)Tệp/byte vượt quá giới hạn xử lý trong công cụThử mẫu nhỏ hơn hoặc chia tệp thành các đoạn trước khi mã hóa
Lệnh gọi adapter đã hết thời gian chờThao tác mã hóa vượt quá thời gian chờ ~25000 msGiảm kích thước đầu vào và tắt định dạng tốn kém như xuống dòng thường xuyên nếu có thể
Định dạng đầu ra không mong muốnCác tùy chọn đóng gói/đệm/trường hợp/xuống dòng đã thay đổi cách trình bày văn bảnXác minh chế độ đệm, wrapLineLength, dấu phân cách (LF/CRLF) và cài đặt xuống dòng cuối cùng

Các lựa chọn thay thế dòng lệnh

Để tự động hóa, tái tạo hoặc các quy trình làm việc với dữ liệu nhạy cảm, hãy ưu tiên thực thi cục bộ trong terminal hoặc môi trường CI.

macOS / Linux

Mã hóa một tệp sang Base32 (yêu cầu tiện ích base32 nếu có sẵn trên hệ thống của bạn)

base32 < input.bin > output.b32.txt

Sử dụng bộ mã hóa Base32 cục bộ nếu nền tảng của bạn cung cấp lệnh base32 (thường từ GNU coreutils). Hành vi (đệm/đóng gói) phụ thuộc vào triển khai.

Windows (PowerShell)

Sử dụng thư viện ngôn ngữ/thời gian chạy cục bộ (được khuyến nghị) để mã hóa Base32

python -c "import base64,sys; data=open('input.bin','rb').read(); print(base64.b32encode(data).decode('ascii'))"

Thư viện chuẩn của Python hỗ trợ mã hóa Base32. Điều chỉnh định dạng (đóng gói/xuống dòng/trường hợp) trong tập lệnh của bạn để khớp với đầu ra mong muốn.

Các trường hợp sử dụng

Chia sẻ dữ liệu nhị phân dưới dạng văn bản thuần túy

  • Mã hóa các khối nhị phân nhỏ để có thể dán vào ticket, chat hoặc các hệ thống dựa trên văn bản
  • Tạo biểu diễn Base32 cho các hệ thống giới hạn đầu vào trong A–Z/2–7 (RFC 4648)

Kiểm tra khả năng tương tác giữa các phương ngữ Base32

  • So sánh đầu ra RFC 4648 với Base32hex và Crockford cho cùng một tệp
  • Chuẩn hóa quy tắc đệm và trường hợp để đồng đội nhận được kết quả giống hệt nhau

Các fixture và đầu ra mẫu thân thiện với CI

  • Tạo các fixture Base32 xác định cho bài kiểm tra đơn vị
  • Cố định hành vi đóng gói và xuống dòng để tránh khác biệt giữa các nền tảng

Kiểm tra hiệu suất và kích thước hợp lý

  • Ước tính nhanh sự mở rộng Base32 cho một mẫu tệp nhỏ
  • Xác thực rằng việc đóng gói dòng và dấu phân cách khớp với kỳ vọng của trình phân tích cú pháp phía dưới

❓ Frequently Asked Questions

Có API công khai cho bộ mã hóa này không?

Không. Trang này được thiết kế để sử dụng tương tác trong trình duyệt và không cung cấp điểm cuối API công khai.

Xử lý là cục bộ hay từ xa?

Xử lý 100% phía máy khách (không tải lên máy chủ). Tất cả mã hóa diễn ra cục bộ trong trình duyệt của bạn.

Tôi có thể mã hóa bí mật một cách an toàn ở đây không?

Công cụ này chạy cục bộ trong trình duyệt của bạn, nhưng bạn vẫn nên tránh dán hoặc tải lên các bí mật cực kỳ nhạy cảm vào bất kỳ trang trực tuyến nào nếu môi trường của bạn không đáng tin cậy. Đối với các quy trình làm việc nhạy cảm, hãy sử dụng CLI cục bộ hoặc tập lệnh ngoại tuyến.

Tại sao tôi nhận được lỗi nói rằng công cụ mong đợi dữ liệu nhị phân?

Trang mã hóa này dành cho tệp/byte. Nếu bạn dán một chuỗi văn bản, nó sẽ từ chối. Hãy tải lên một tệp (hoặc cung cấp byte) thay vì nhập văn bản.

Tại sao đầu ra của tôi trông khác (chữ hoa/thường, khoảng đệm, ngắt dòng) so với công cụ khác?

Cách trình bày văn bản Base32 phụ thuộc vào tùy chọn và phương ngữ. Hãy kiểm tra định dạng đã chọn (RFC 4648/Base32hex/Crockford), chế độ đệm, kiểu chữ hoa/thường, độ dài gói, dấu phân cách (LF so với CRLF) và liệu có thêm dòng mới cuối cùng hay không.

Pro Tips

CI Tip

Nếu bạn cần sự ổn định trong các khác biệt (diff) ở PR hoặc CI, hãy cố định định dạng: chọn một phương ngữ duy nhất, cố định chế độ đệm, đặt wrapLineLength rõ ràng và quyết định có thêm dòng mới cuối cùng hay không.

Best Practice

Để tương thích tối đa với các hệ thống nghiêm ngặt, nên ưu tiên RFC 4648 với chế độ đệm "Tự động" hoặc "Luôn bao gồm =" và giữ đầu ra ở dạng CHỮ HOA.

Best Practice

Nếu việc phân tích cú pháp ở hạ nguồn nhạy cảm với dòng mới, hãy đặt dấu phân cách dòng (LF so với CRLF) rõ ràng để phù hợp với nền tảng mục tiêu.

Best Practice

Đối với dữ liệu nhạy cảm, nên ưu tiên thực thi CLI/thư viện cục bộ mặc dù công cụ này chạy phía máy khách, đặc biệt trên máy dùng chung hoặc trình duyệt được quản lý.

Additional Resources

Other Tools