Bài học codec · Base16 / Hex
Base16 / Hex: đọc trực tiếp từng byte UTF-8
Base16, thường gọi là hexadecimal hoặc Hex, viết mỗi byte bằng hai ký hiệu trong 0–9 và A–F. Cách này trực tiếp và dễ đọc khi kiểm tra byte.
Đã hoàn thành trong trình duyệt này
Liên hệ một byte với hai chữ số hexadecimal và nhận biết cặp thiếu hoặc dãy byte không tạo được text UTF-8 hợp lệ.
Encode Keyboard xuất Base16 chữ hoa canonical không có dấu ngăn. Decode nhận hex hoa hoặc thường và ASCII whitespace, sau đó yêu cầu đủ cặp byte và UTF-8 hợp lệ.
Encode Keyboard xử lý như thế nào
Tạo byte UTF-8
Mỗi ký tự input trở thành một hoặc nhiều byte theo UTF-8.
Chia mỗi byte làm hai nửa
Bốn bit cao và bốn bit thấp lần lượt ánh xạ thành một chữ số hex.
Kiểm tra theo cặp byte
Decode từ chối ký hiệu ngoài hex, số chữ số lẻ và byte không tạo được text UTF-8. U+FEFF đầu được giữ nguyên.
Ví dụ từng bước
Hi4869H là byte 0x48 và i là byte 0x69, nên mỗi byte input luôn chiếm hai chữ số hex.
Nên dùng khi
- Xem byte UTF-8 gọn hơn Binary
- So sánh text với log mức byte
- Học cách nhóm bốn bit ánh xạ sang hexadecimal
Kiểm tra hợp lệ và lỗi thường gặp
- Chỉ dùng số 0–9 và chữ A–F hoặc a–f
- Sau khi bỏ whitespace tùy chọn, số chữ số phải chẵn
- Cặp byte hợp lệ vẫn có thể không tạo được text UTF-8
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.