Mã hóa base64 được thực hiện như thế nào?
Base64 là một nhóm các sơ đồ mã hóa nhị phân thành văn bản tương tự biểu thị dữ liệu nhị phân ở định dạng chuỗi ASCII bằng cách dịch nó thành biểu diễn cơ số 64. Thuật ngữ Base64 bắt nguồn từ một cụ thể Show Các lược đồ mã hóa Base64 thường được sử dụng khi có nhu cầu mã hóa dữ liệu nhị phân cần được lưu trữ và truyền qua phương tiện được thiết kế để xử lý ASCII. Điều này là để đảm bảo rằng dữ liệu vẫn còn nguyên vẹn mà không bị sửa đổi trong quá trình vận chuyển. Base64 thường được sử dụng trong một số ứng dụng bao gồm email qua MIME và lưu trữ dữ liệu phức tạp trong XML Một ứng dụng phổ biến của mã hóa Base64 trên web là mã hóa dữ liệu nhị phân để có thể đưa vào dữ liệu. URL Trong JavaScript có hai hàm tương ứng để giải mã và mã hóa chuỗi Base64
Thuật toán được sử dụng bởi 1 và 0 được chỉ định trong RFC 4648, phần 4Ghi chú. 0 dự kiến sẽ được truyền dữ liệu nhị phân và sẽ đưa ra một ngoại lệ nếu chuỗi đã cho chứa bất kỳ ký tự nào có biểu diễn UTF-16 chiếm nhiều hơn một byteMỗi chữ số Base64 đại diện cho chính xác 6 bit dữ liệu. Vì vậy, ba byte 8 bit của chuỗi đầu vào/tệp nhị phân (3 × 8 bit = 24 bit) có thể được biểu thị bằng bốn chữ số Base64 6 bit (4 × 6 = 24 bit) Điều này có nghĩa là phiên bản Base64 của một chuỗi hoặc tệp sẽ có ít nhất 133% kích thước của nguồn (tăng ~33%). Mức tăng có thể lớn hơn nếu dữ liệu được mã hóa nhỏ. Ví dụ: chuỗi 0 với 1 được mã hóa thành 2 với 3 - tăng 300%Vì các chuỗi JavaScript là các chuỗi được mã hóa 16-bit, nên trong hầu hết các trình duyệt, việc gọi 4 trên chuỗi Unicode sẽ gây ra ngoại lệ 5 nếu một ký tự vượt quá phạm vi của ký tự được mã hóa ASCII 8-bit. Có hai phương pháp có thể để giải quyết vấn đề này
Đây là hai phương pháp có thể
Giải pháp này đã được đề xuất bởi Johan Sundström Một giải pháp khả thi khác mà không cần sử dụng các hàm 'unescape' và 'escape' hiện không dùng nữa. Tuy nhiên, giải pháp thay thế này không thực hiện mã hóa base64 của chuỗi đầu vào. Lưu ý sự khác biệt trong kết quả đầu ra của 6 và 7. Việc áp dụng giải pháp thay thế này có thể dẫn đến các vấn đề về khả năng tương tác với các ứng dụng khác
Ghi chú. Đoạn mã sau cũng hữu ích để lấy ArrayBuffer từ chuỗi Base64 và/hoặc ngược lại () 0 1Hàm này cho phép chúng tôi tạo uint8Arrays hoặc ArrayBuffers từ các chuỗi được mã hóa Base64 2Ghi chú. Hàm 01 trả về một 02 byte. Nếu mục đích của bạn là tạo bộ đệm dữ liệu thô 16-bit/32-bit/64-bit, hãy sử dụng đối số 03, là số byte mà thuộc tính 04 phải tạo ra bội số ( 05 hoặc bỏ qua đối với ASCII, . e. , một chuỗi trong đó mỗi ký tự trong chuỗi được coi là một byte dữ liệu nhị phân) hoặc chuỗi được mã hóa UTF-8, 06 đối với chuỗi UTF-16, 07 đối với chuỗi UTF-32)
Mã hóa Base64 như thế nào?Về cơ bản, Base64 được sử dụng để mã hóa dữ liệu nhị phân dưới dạng văn bản có thể in được . Điều này cho phép bạn vận chuyển nhị phân qua các giao thức hoặc phương tiện không thể xử lý các định dạng dữ liệu nhị phân và yêu cầu văn bản đơn giản. [ Tải ngay. Hướng dẫn của quản trị viên hệ thống về Bash scripting. ] Base64 sử dụng các ký tự 6 bit được nhóm thành chuỗi 24 bit.
Mã hóa và giải mã Base64 hoạt động như thế nào?Techopedia giải thích về Base64
. Dữ liệu mới tạo được biểu diễn trong hệ thống số 64 cơ số và dưới dạng văn bản ASCII 7 bit. Bởi vì mỗi bit được chia thành hai bit, dữ liệu được chuyển đổi lớn hơn 33 phần trăm hoặc một phần ba so với dữ liệu gốc. by dividing every three bits of binary data into six bit units. The newly created data is represented in a 64-radix numeral system and as seven-bit ASCII text. Because each bit is divided into two bits, the converted data is 33 percent, or one-third, larger than the original data.
Làm cách nào để mã hóa tệp thành Base64?Mã hóa tệp thành Base64 trực tuyến và nhúng tệp vào bất kỳ tài liệu văn bản nào như HTML, JSON hoặc XML. . Chọn một tệp cục bộ từ máy tính của bạn Nếu cần, hãy chọn định dạng đầu ra mong muốn Nhấn nút “Mã hóa tệp thành Base64” Tải xuống hoặc sao chép kết quả từ trường “Base64” Ví dụ mã hóa Base64 là gì?Ví dụ mã hóa Base64
. 100110 111010 001011 101001. Mỗi nhóm này chuyển thành các số 38, 58, 11 và 41 |