Tour of Rust Mục lục

utf-8 là gì?

Khi nhiều ngôn ngữ được sử dụng trên máy tính, thế giới cần phải biểu diễn nhiều ký tự văn bản hơn ASCII cho phép (1 byte chỉ cho phép 256 ký tự).

utf-8 đã được giới thiệu với độ dài byte thay đổi từ 1-4 byte làm tăng đáng kể phạm vi ký tự có thể có.

Một lợi thế của các ký tự có kích thước thay đổi là văn bản không có các byte không cần thiết cho những mã ASCII rất phổ biến (chỉ yêu cầu 1 byte vẫn ở trong utf-8).

Nhược điểm của các ký tự có kích thước thay đổi là việc tra cứu ký tự không còn được thực hiện nhanh chóng. (O(1) thời gian không đổi) với một lập chỉ mục đơn giản (ví dụ: my_text[3] để lấy ký tự thứ 4). Việc các ký tự trước đó có thể có độ rộng thay đổi là khả thi, thay đổi vị trí của ký tự thứ 4 thực sự bắt đầu trong chuỗi byte.

Thay vào đó, chúng ta phải lặp qua chuỗi byte utf-8 để hiểu vị trí các ký tự Unicode thực sự bắt đầu (O(n) thời gian tuyến tính).

Ferris: "Tớ rất vui vẻ với utf-8, tớ có các emoji thú vị để đại diện cho những người bạn dưới nước của tớ."

🐠🐙🐟🐬🐋

Mascot Ferris