Bài học codec · Base64

Base64: đóng gói text bằng bảng ký tự dễ truyền

Base64 đổi byte thành ký tự trong bảng 64 ký hiệu. Nó tiện để truyền dữ liệu nhưng có thể đảo ngược ngay và không phải encryption.

Chuẩn · RFC 4648 Khả năng khôi phục: Chính xác với Base64 canonical có byte decode thành text UTF-8 hợp lệ.
Mục tiêu bài học

Base64 đổi byte thành ký tự trong bảng 64 ký hiệu. Nó tiện để truyền dữ liệu nhưng có thể đảo ngược ngay và không phải encryption.

Encode Keyboard đọc byte UTF-8 rồi tạo Base64 chuẩn bằng A–Z, a–z, 0–9, + và /. Dấu bằng có thể được thêm để lấp đầy nhóm bốn ký tự cuối.

01

Encode Keyboard xử lý như thế nào

1

Bắt đầu từ byte UTF-8

Unicode được encode nhất quán trước khi xử lý Base64.

2

Nhóm lại các bit

Ba byte trở thành bốn ký tự Base64; nhóm cuối được padding khi cần.

3

Chỉ nhận dạng canonical

Decode bỏ whitespace rồi kiểm tra alphabet chuẩn, độ dài nhóm, padding, kết quả re-encode và UTF-8 đầu ra.

02

Ví dụ từng bước

Đầu vàoHello
Kết quảSGVsbG8=

Dấu = cuối là padding và thuộc về giá trị Base64 canonical này.

03

Nên dùng khi

  • Hiểu cách truyền byte qua kênh text
  • Đọc Base64 từ API và tệp
  • Tạo đoạn text đảo ngược cho dữ liệu không nhạy cảm
04

Kiểm tra hợp lệ và lỗi thường gặp

  • Kết quả dài thêm khoảng một phần ba
  • Padding sai hoặc dạng không canonical sẽ bị từ chối
  • Ai cũng có thể đọc nội dung sau khi decode
05

Thực hành trong trình duyệt

Công cụ dùng đúng quy tắc đã mô tả của app và chỉ chạy trong tab này.

Base64Công cụ dùng đúng quy tắc đã mô tả của app và chỉ chạy trong tab này.
Kết quả

Công cụ dùng đúng quy tắc đã mô tả của app và chỉ chạy trong tab này.

06

Kiểm tra nhanh

Dấu = ở cuối một số giá trị Base64 dùng để làm gì?