Bài học codec · Base64URL

Base64URL: Base64 cho tên tệp và URL

Base64URL là alphabet an toàn cho URL và tên tệp trong RFC 4648. Nó thay + và / bằng - và _, còn Encode Keyboard xuất dạng không có padding tùy chọn.

Chuẩn · RFC 4648 Khả năng khôi phục: Chính xác với Base64URL canonical có byte decode thành UTF-8 hợp lệ, gồm cả U+FEFF đầu nếu có.
Mục tiêu bài học

Phân biệt Base64URL với Base64 thường và kiểm tra giá trị UTF-8 canonical mà không nhầm encoding với encryption.

Encode Keyboard đổi byte UTF-8 bằng alphabet Base64URL trong RFC 4648 rồi bỏ dấu = cuối. Decode nhận dạng không padding canonical hoặc đúng lượng padding cần thiết, sau đó yêu cầu UTF-8 hợp lệ.

01

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

1

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

Text trước hết thành đúng dãy byte dùng cho các định dạng dữ liệu có thể đảo ngược khác.

2

Dùng alphabet an toàn cho URL

Hai vị trí mà Base64 thường viết + và / được Base64URL viết thành - và _.

3

Kiểm tra trước khi trả text

Decode kiểm tra alphabet, độ dài không thể có, padding, re-encode canonical và UTF-8 đầu ra.

02

Ví dụ từng bước

Đầu vàoHello?
Kết quảSGVsbG8_

Dấu _ cuối là ký hiệu an toàn cho URL ở vị trí mà Base64 thường dùng /. Encode Keyboard bỏ padding =.

03

Nên dùng khi

  • Đọc token được mô tả rõ là Base64URL
  • Học khác biệt giữa hai alphabet Base64
  • Đưa text UTF-8 không nhạy cảm qua trường an toàn cho tên tệp
04

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

  • Chỉ dùng A–Z, a–z, 0–9, - và _ trước dấu = cuối tùy chọn
  • Không trộn + hoặc / của Base64 thường
  • Nếu có padding, số dấu = phải đúng với block cuối
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.

Base64URLCô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

Ký tự nào thay + và / trong alphabet Base64URL?