Bộ giải mã và mã hóa Base64
Base64 là một hệ thống số vị trí với cơ số là 64 ký tự ASCII (Mã tiêu chuẩn Hoa Kỳ cho trao đổi thông tin) có thể in được. Ví dụ, hệ thống được sử dụng để trình bày các tệp nhị phân trong e-mail. Tất cả các biến thể Base64 đều sử dụng các ký tự A-Z, a-z và 0-9, tổng cộng 62 ký tự, hai ký tự bị thiếu được thay thế bằng các ký tự khác nhau trong hệ thống triển khai. Cứ ba byte ban đầu được mã hóa bằng bốn ký tự.
Lịch sử của Base64
Lúc đầu, chỉ có thể gửi văn bản qua email (RFC 822). Theo thời gian, cùng với văn bản, cần phải chuyển các tệp âm thanh, video và đồ họa, các ứng dụng, ... Nhu cầu chuyển đổi tệp nhị phân thành văn bản. Base64 đã được thêm vào mã hóa UUE hiện tại (Uuencode), được sử dụng trong đặc tả MIME (Tiện ích mở rộng thư Internet đa năng) (RFC 2045-2049).
MIME là một tiêu chuẩn để mô tả tiêu đề trong thư điện tử. Việc sử dụng nó cho phép bạn gửi một số tệp đính kèm trong một bức thư, ví dụ: tệp văn bản và tệp lưu trữ hoặc các trang HTML. Một chương trình email nhận biết MIME tự do trích xuất kho lưu trữ từ tệp văn bản, hiển thị thông báo và phân tích cú pháp các thẻ HTML. Ví dụ: Outlook Express tự động chạy các tập lệnh được nhúng trong trang HTML.
Base64 ra đời trong kỷ nguyên của byte bảy, sáu và ba bit. Các bảng mã cũ không hỗ trợ tiêu chuẩn tám-bit, do đó, một phần thông tin bị mất khi chuyển từ hệ thống cũ sang hệ thống mới. Thông thường, khi gửi thư, máy chủ thư giảm thêm một bit, một bit hoặc không truyền video và hình ảnh. Để loại bỏ những rắc rối như vậy, các bảng mã để chuyển đổi mã nhị phân thành văn bản đã được phát triển. Hệ thống phổ biến và hiệu quả nhất là Base64, do tính đơn giản nên nó được sử dụng ở mọi nơi.
Một thuật toán được gọi là "mã hóa để in" được mô tả lần đầu tiên vào năm 1987, Base64 xuất hiện vào tháng 6 năm 1992. Các phiên bản của hệ thống này là Base16, Base32, Base36, Base58, Base85, Base91 và Base122. Các tiêu chuẩn sau này được sử dụng tích cực trong lĩnh vực CNTT.
Sự thật thú vị
Một số hệ thống sử dụng Base58 để mã hóa URL, khác với Base64 do không có các ký tự trong văn bản cuối cùng mà một người có thể nhận ra một cách mơ hồ. 0 (số không), O (chữ o Latinh viết hoa), I (chữ i Latinh viết hoa), l (chữ L Latinh nhỏ) bị loại trừ. Cũng bị loại trừ là các ký tự + (dấu cộng) và / (dấu gạch chéo), khi mã hóa URL, có thể dẫn đến diễn giải địa chỉ không chính xác.
Base64 cung cấp mã hóa có thể đảo ngược và khôi phục được. Dịch vụ này chuyển các ký tự của bảng mã tám bit thành các ký tự được lưu giữ trong quá trình truyền thông tin trong mạng và giữa các thiết bị.