- 20 năm trước, Joel từng nhấn mạnh rằng "Không tồn tại thứ gọi là Plain Text", và việc hiểu về mã hóa là điều bắt buộc
- Unicode là tiêu chuẩn thống nhất để mọi ngôn ngữ của loài người có thể được sử dụng trên máy tính
- Hệ thống code point gán một số duy nhất cho mỗi ký tự khác nhau
- Code point lớn nhất là 0x10FFFF, cung cấp không gian khoảng 1,1 triệu code point
- UTF-8 là kiểu mã hóa phổ biến nhất, với xác suất được sử dụng lên tới 98%
- UTF-8 là mã hóa độ dài biến thiên, trong đó code point có thể được mã hóa thành chuỗi 1 đến 4 byte
- UTF-8 tương thích byte với ASCII và tiết kiệm không gian cho nhóm ký tự Latin cơ bản
- UTF-8 có cơ chế phát hiện và khôi phục lỗi tích hợp, nên có thể nhận diện các chuỗi byte UTF-8 hoàn chỉnh và hợp lệ
- Extended grapheme cluster, hay grapheme, là đơn vị cần được lặp lại, chứ không phải code point
- Unicode được cập nhật hằng năm, và các quy tắc định nghĩa grapheme cluster cũng thay đổi mỗi năm
- Unicode có thể được hiển thị khác nhau tùy theo locale
- Cặp surrogate trong Unicode là hai đơn vị UTF-16 được dùng để mã hóa một code point Unicode duy nhất
- UTF-16 vẫn được dùng làm biểu diễn trong bộ nhớ trên một số hệ thống
- Chuỗi Unicode cần được chuẩn hóa trước khi so sánh
- Bài viết nhấn mạnh tầm quan trọng của việc dùng thư viện Unicode ngay cả với những phép toán cơ bản như
strlen, indexOf, substring
3 bình luận
Trong trường hợp
"♂️".length, Python 3.11 trả về 1.Emoji đang bị lỗi hiển thị trong phần bình luận.
Ý kiến trên Hacker News