Mã hóa/Giải mã Base62 (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/byte nhị phân thành văn bản Base62 với bảng chữ cái tùy chọn, tùy chọn ngắt dòng và xử lý từng dòng, cùng với xác thực nghiêm ngặt và hỗ trợ data: URI khi giải mã trở lại byte.

Loading…

Giới thiệu Mã hóa/Giải mã Base62 (Nhị phân)

Sử dụng công cụ này để mã hóa tệp nhị phân (byte) thành văn bản Base62 để truyền tải trong các hệ thống ưa chuộng dữ liệu chữ số. Trang này được tối ưu cho mục đích mã hóa, nhưng cũng bao gồm hành động giải mã để chuyển Base62 trở lại thành tệp nhị phân có thể tải xuống. Mọi thứ chạy cục bộ trong trình duyệt của bạn (không tải lên), và bạn có thể kiểm soát bảng chữ cái Base62, tùy chọn ngắt dòng, dấu phân cách và độ nghiêm ngặt xác thực để phù hợp với nhà sản xuất/người tiêu dùng của bạn.

Tính năng

  • Tải lên/kéo-và-thả tệp nhị phân (.bin, .dat, kho lưu trữ) với hỗ trợ hàng loạt nhiều tệp
  • Hai hành động: Mã hóa (nhị phân → văn bản Base62) và Giải mã (văn bản Base62 → tệp có thể tải xuống)
  • Lựa chọn bảng chữ cái: 0-9A-Za-z (phổ biến), 0-9a-zA-Z, A-Za-z0-9, a-zA-Z0-9
  • Tùy chọn ngắt dòng (chế độ mã hóa): ngắt ở độ rộng cột đã chọn hoặc tắt (0)
  • Chọn dấu phân cách dòng: LF ( ) hoặc CRLF ( ) cho đầu ra được ngắt dòng
  • Xử lý từng dòng cho tải trọng nhiều bản ghi (hữu ích khi mỗi dòng là một đoạn Base62 riêng biệt)
  • Giải mã có thể chấp nhận tiền tố data:*;base62, (có thể bật/tắt)
  • Công tắc xác thực nghiêm ngặt để từ chối các ký tự không hợp lệ cho bảng chữ cái đã chọn
  • Chế độ xem trước trực tiếp cho đầu vào nhỏ (tắt cho tải trọng lớn)
  • Xử lý 100% phía máy khách (không tải lên máy chủ).

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

1

Thả tệp (hoặc dán văn bản Base62)

Để mã hóa, kéo-và-thả một hoặc nhiều tệp nhị phân vào vùng thả. Để giải mã, dán văn bản Base62 bạn nhận được (tùy chọn với tiền tố data:*;base62, nếu được bật).

2

Chọn hành động/chế độ và chạy nó

Chọn "Hành động" (Mã hóa hoặc Giải mã), sau đó nhấp vào nút tương ứng. Để mã hóa, chọn "Bảng chữ cái" bạn cần và tùy chọn đặt "Ngắt dòng tại" và dấu phân cách dòng. Để giải mã, bật "Xác thực nghiêm ngặt" để phát hiện sớm các ký tự không hợp lệ, và bật/tắt "Chấp nhận tiền tố data:*;base62," nếu đầu vào của bạn bao gồm nó.

3

Sao chép đầu ra hoặc tải xuống tệp đã giải mã

Sau khi mã hóa, sao chép đầu ra văn bản Base62 (được ngắt dòng và phân cách như đã cấu hình). Sau khi giải mã, tải xuống tệp nhị phân đã được tái tạo (quy tắc tên tệp thường loại bỏ .b62 khi có và quay lại .bin khi cần).

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à xử lý dữ liệu.

Khía cạnhChi tiết
Chế độXử lý 100% phía máy khách (không tải lên máy chủ).
Phạm vi hành độngMã hóa nhị phân → văn bản Base62 (chính), cộng với Giải mã Base62 → tải xuống nhị phân
Đầu vàoMã hóa: Tệp/Blob/Uint8Array/ArrayBuffer/TypedArray. Giải mã: Chuỗi Base62 (tùy chọn tiền tố data:*;base62,)
Đầu raMã hóa: Văn bản Base62. Giải mã: byte dưới dạng tệp có thể tải xuố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)
Đối với dữ liệu nhạy cảm (bí mật, tệp riêng tư), nên ưu tiên công cụ ngoại tuyến/cục bộ và tránh chia sẻ tải trọng qua clipboard hoặc ảnh chụp màn hình.

Ví Dụ Nhỏ

Một chuỗi byte nhỏ được mã hóa bằng bảng chữ cái phổ biến "0-9A-Za-z". Đầu ra thay đổi tùy theo bảng chữ cái và cài đặt gói.

MụcGiá trị
Byte đầu vào (hex)00 01 02 03 04 05 06 07 08 09
Đầu ra (Base62)(phụ thuộc vào triển khai/bảng chữ cái)
Yếu tố thay đổi đầu raThứ tự bảng chữ cái, gói tùy chọn, dấu phân cách dòng, và việc bạn mã hóa dưới dạng một blob đơn lẻ hay các đoạn từng dòng
Base62 không phải là một tiêu chuẩn phổ quát duy nhất như RFC 4648 Base64. Luôn giữ bảng chữ cái nhất quán giữa bộ mã hóa và bộ giải mã.

Lỗi & Trường Hợp Đặc Biệt

Các chế độ lỗi phổ biến và cách khắc phục chúng.

Triệu chứngNguyên nhân có thểKiểm tra gì
Đầu vào phải là chuỗi để giải mãBạn đã cố gắng giải mã nhưng cung cấp byte/tệp thay vì văn bản Base62Đặt Hành động thành Giải mã và dán văn bản Base62; sử dụng Mã hóa cho các tệp đã tải lên
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 đã cố gắng mã hóa bằng cách dán văn bản vào bộ mã hóa nhị phânTải lên một tệp (hoặc truyền byte). Nếu bạn cần chuyển đổi văn bản→byte, hãy sử dụng công cụ định hướng văn bản trước
Lỗi xác thực nghiêm ngặt / ký tự không hợp lệĐầu vào chứa các ký tự không có trong bảng chữ cái Base62 đã chọn (hoặc chứa dấu phân cách/tiền tố)Chọn đúng Bảng chữ cái, tắt Nghiêm ngặt để kiểm tra đầu vào linh hoạt, và loại bỏ khoảng trắng thừa; nếu đầu vào có tiền tố data:*;base62,, hãy bật Chấp nhận URI dữ liệu
Tệp đã giải mã có vẻ bị hỏngKhông khớp bảng chữ cái hoặc nhà sản xuất đã sử dụng một biến thể Base62 khácXác minh thứ tự bảng chữ cái với nhà sản xuất (0-9A-Za-z so với 0-9a-zA-Z, v.v.) và giữ nó giống nhau ở cả hai bên
Dòng mới hoặc ranh giới đoạn không mong muốnĐầu vào/đầu ra được gói hoặc bạn đã sử dụng xử lý từng dòng không chính xácĐối với một tải trọng đơn lẻ, đặt Gói dòng ở 0 và giữ lineByLine tắt; đối với luồng nhiều bản ghi, bật lineByLine và đảm bảo một đoạn Base62 trên mỗi dòng
Dữ liệu đầu vào quá lớn (tối đa 2MB) / đã hết thời gian chờTải trọng vượt quá giới hạn an toàn hoặc thiết bị xử lý chậmChia nhỏ tải trọng, tắt tính năng Xem trước trực tiếp, hoặc chuyển sang dùng tập lệnh/công cụ cục bộ cho các tệp lớn

Tùy chọn & Quy tắc Đầu ra

Cách các tùy chọn giao diện người dùng ảnh hưởng đến hành vi mã hóa/giải mã.

Tùy chọnÁp dụng choHiệu ứng
Hành độngMã hóa / Giải mãMã hóa chuyển đổi byte thành văn bản Base62; Giải mã chuyển đổi văn bản Base62 thành tệp nhị phân có thể tải xuống.
Bảng chữ cáiMã hóa / Giải mãXác định thứ tự bộ 62 ký tự. Phải khớp giữa các hệ thống để giải mã chính xác.
Ngắt dòng tạiChỉ mã hóaNếu > 0, chèn ngắt dòng tại độ rộng đã chọn; 0 tắt tính năng ngắt dòng.
Dấu phân cách dòngMã hóa / Giải mã (định dạng)Điều khiển chuỗi xuống dòng nào được sử dụng khi ngắt dòng hoặc xuất đầu ra theo dòng: LF hoặc CRLF.
Xem trước trực tiếpCả haiTự động chạy khi có thay đổi (tốt nhất cho đầu vào nhỏ). Tắt cho tải trọng lớn để tránh hết thời gian chờ.
Xử lý từng dòngCả haiXử lý mỗi dòng như một bản ghi riêng biệt. Hữu ích cho danh sách/chuỗi các đoạn Base62.
Chấp nhận tiền tố data:*;base62,Chỉ giải mãCho phép đầu vào bắt đầu bằng một tiền tố giống URI dữ liệu để công cụ có thể loại bỏ nó trước khi giải mã.
Xác thực nghiêm ngặtChỉ giải mãTừ chối các ký tự ngoài bảng chữ cái đã chọn và phát hiện đầu vào không đúng định dạng sớm.
Nếu bạn không kiểm soát bên tạo, hãy bắt đầu bằng việc xác định bảng chữ cái mà nó sử dụng, sau đó cố định lựa chọn đó ở mọi nơi (tài liệu, CI và mã nguồn).

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

Không có CLI Base62 phổ quát trong hầu hết các hệ điều hành. Để có kết quả tái lập được trong CI hoặc cho các tệp lớn, hãy sử dụng một thư viện được duy trì và ghi rõ tài liệu về ánh xạ bảng chữ cái mà hệ thống của bạn sử dụng.

Tất cả nền tảng (Python)

Mã hóa/giải mã Base62 bằng thư viện được duy trì (cố định phiên bản + bảng chữ cái)

python -c "import sys; print('Base62 không có trong thư viện chuẩn Python. Hãy sử dụng một thư viện Base62 được duy trì, cố định phiên bản của nó, và cấu hình rõ ràng bảng chữ cái (ví dụ: 0-9A-Za-z so với 0-9a-zA-Z).')"

Thư viện chuẩn của Python không bao gồm Base62. Để đảm bảo tính chính xác và khả năng tái lập, hãy sử dụng một thư viện uy tín, cố định phiên bản phụ thuộc và giữ cho bảng chữ cái nhất quán trên tất cả các dịch vụ.

Node.js

Mã hóa/giải mã Base62 sử dụng thư viện được bảo trì (bảng chữ cái tài liệu)

node -e "console.error('Base62 không được tích hợp sẵn trong Node core. Hãy sử dụng thư viện Base62 uy tín, ghim phiên bản của nó, và ghi lại/cấu hình bảng chữ cái (0-9A-Za-z, 0-9a-zA-Z, v.v.) để tránh không khớp.')"

Node không đi kèm sẵn bộ mã hóa/giải mã Base62 trong core. Nên ưu tiên thư viện uy tín và ghi lại lựa chọn bảng chữ cái để việc mã hóa/giải mã vẫn tương thích theo thời gian.

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

Nhúng tệp nhị phân vào các kênh chỉ văn bản

  • Đính kèm tệp nhị phân nhỏ bên trong JSON, YAML, hoặc các hệ thống dựa trên môi trường ưa thích tải trọng chữ-số
  • Chia sẻ dữ liệu kiểm thử dưới dạng văn bản Base62 khi byte thô không thuận tiện
  • Lưu trữ định danh hoặc tải trọng khá gọn nhẹ mà không cần bảng chữ cái nhiều dấu câu

Kiểm thử khả năng tương tác giữa các bảng chữ cái

  • So sánh đầu ra giữa các thứ tự bảng chữ cái khác nhau để hiểu các ràng buộc tương thích
  • Giảng dạy sự khác biệt giữa Base64 (đã chuẩn hóa) và Base62 (theo biến thể)
  • Minh họa tại sao việc xác thực nghiêm ngặt và bảng chữ cái rõ ràng lại quan trọng

Kiểm tra hợp lý CI cho các tệp nhỏ

  • Xác thực rằng Base62 được tạo ra có thể giải mã ngược lại thành byte thành công (kiểm tra vòng lặp)
  • Áp dụng một lựa chọn bảng chữ cái duy nhất trên các kho lưu trữ để giữ cho bản dựng có thể tái tạo
  • Chuẩn hóa việc gói/ngăn cách để các khác biệt (diff) ổn định

Giảm thiểu sự mơ hồ và rủi ro giải mã

  • Kích hoạt xác thực Nghiêm ngặt để từ chối các ký tự không mong đợi sớm
  • Tránh sao chép bí mật vào các công cụ trình duyệt; sử dụng tập lệnh cục bộ cho dữ liệu nhạy cảm
  • Ghi lại và khóa các lựa chọn bảng chữ cái để ngăn ngừa hư hỏng ngẫu nhiên giữa các hệ thống

❓ Frequently Asked Questions

Có API công khai cho công cụ này không?

Không. Đây là công 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/giải mã 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 hoặc tệp nhạy cảm ở đây một cách an toàn không?

Nên tránh. Ngay cả với xử lý cục bộ, bí mật có thể bị rò rỉ qua lịch sử clipboard, ảnh chụp màn hình, tiện ích mở rộng, hoặc máy dùng chung. Đối với tài liệu nhạy cảm, nên ưu tiên công cụ cục bộ/ngoại tuyến.

Tại sao giải mã thất bại với lỗi xác thực/phân tích cú pháp?

Hầu hết lỗi đến từ việc không khớp bảng chữ cái, tiền tố không mong đợi (như data:*;base62,), khoảng trắng/xuống dòng, hoặc ký tự không phải Base62. Hãy chọn "Bảng chữ cái" chính xác, bật "Chấp nhận tiền tố data:*;base62," nếu áp dụng, và sử dụng "Xác thực Nghiêm ngặt" để xác định các ký tự không hợp lệ.

Tại sao tệp của tôi sau khi giải mã bị hỏng mặc dù giải mã thành công?

Các biến thể Base62 khác nhau theo thứ tự bảng chữ cái. Nếu bên tạo sử dụng bảng chữ cái khác (ví dụ: 0-9a-zA-Z thay vì 0-9A-Za-z), việc giải mã có thể tạo ra byte nhưng không phải nội dung gốc. Hãy xác minh bảng chữ cái của bên tạo và giữ nó giống hệt trong mọi bộ mã hóa/giải mã.

Pro Tips

Best Practice

Xem Base62 như một biến thể: luôn ghi lại bảng chữ cái (0-9A-Za-z so với 0-9a-zA-Z, v.v.) cùng với dữ liệu.

Best Practice

Để đầu ra ổn định, hãy giữ tính năng gói bị vô hiệu hóa (wrapLineLength=0) trừ khi bạn có một lớp vận chuyển yêu cầu các dòng có chiều rộng cố định.

Best Practice

Bật Xác thực Nghiêm ngặt khi gỡ lỗi: nó phát hiện sớm các khoảng trắng lạc, ký tự sai và sự không khớp bảng chữ cái.

CI Tip

Trong CI, hãy thêm một bài kiểm tra vòng lặp (mã hóa → giải mã) trên các mẫu đại diện và cố định phiên bản thư viện Base62 của bạn.

Additional Resources

Other Tools