Bộ mã hóa / giải mã Base62
Văn bản
Base62
Chi tiết kỹ thuật
Cách Bộ Mã Hoá / Giải Mã Base62 Hoạt Động
Công cụ làm gì
Base62 mã hoá dữ liệu nhị phân bằng 62 ký tự chữ và số (0-9, A-Z, a-z) và giải mã chuỗi Base62 trở lại văn bản hoặc hex. Đầu ra chỉ chứa các ký tự an toàn cho URL, không có ký tự đệm, không có '+', '/', hoặc '=', nên có thể nhúng trực tiếp vào URL và tham số truy vấn mà không cần percent-encoding.
Các trường hợp sử dụng phổ biến cho lập trình viên
Các dịch vụ rút gọn URL (bit.ly, t.co, trước đây là goo.gl) dùng Base62 để mã hoá các ID số nguyên tăng dần thành slug gọn và dễ chia sẻ. Lập trình viên backend tạo các định danh ngắn, khó đoán cho bài đăng mạng xã hội, tweet và tài sản đã tải lên. Marketer theo dõi chiến dịch bằng các tham số UTM được mã hoá Base62 trông gọn gàng hơn Base64.
Định dạng dữ liệu, kiểu hoặc biến thể
Công cụ dùng thứ tự bảng chữ cái Base62 phổ biến nhất: chữ số 0-9, rồi chữ hoa A-Z, rồi chữ thường a-z. Các triển khai khác nhau có thể dùng thứ tự khác (một số đặt chữ thường trước chữ hoa), vì vậy hãy luôn xác minh tính tương thích của bảng chữ cái trước khi chia sẻ dữ liệu đã mã hoá giữa các hệ thống. Đầu ra được hiển thị cho cả văn bản UTF-8 và đầu vào byte hex thô.
Các lỗi thường gặp và trường hợp biên
Base62 không được chuẩn hoá — thứ tự bảng chữ cái khác nhau giữa các thư viện (công cụ này dùng 0-9, A-Z, a-z, khớp với quy ước npm `base-x`). Các byte 0 ở đầu trong dữ liệu nhị phân được bộ mã hoá giữ lại, nhưng một chuỗi Base62 bắt đầu bằng '0' sẽ giải mã ra cùng giá trị như chuỗi không có — không có dạng chuẩn tắc. Để tương tác liên thông giữa các ngôn ngữ, hãy ghi rõ chính xác bảng chữ cái bạn đã dùng.
Khi nào nên dùng công cụ này thay vì viết mã
Dùng công cụ trên trình duyệt cho việc mã hoá/giải mã một lần khi debug slug URL hoặc short ID. Trong code, ưu tiên gói npm `base-x` (JavaScript), `pybase62` hoặc tự viết chuyển đổi (Python), hoặc các triển khai Java `Base62.io` — và luôn cố định bảng chữ cái trong các bài test để một lần refactor trong tương lai không âm thầm thay đổi cách mã hoá.