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.
Đã hoàn thành trong trình duyệt này
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ệ.
Encode Keyboard xử lý như thế nào
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.
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à _.
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.
Ví dụ từng bước
Hello?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 =.
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
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
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.