Rust 語言之旅 目錄

什麼是 utf-8

隨著越來越多語言在電腦上使用,這個世界就需要顯示更多文字字元,而不是單單 ASCII 允許的 1 個位元、256 個字元。

utf-8 以有著 1-4 個位元組的可變長度登場,這大幅增加可能的字元。

使用可變長度有個優勢是,對於那些常用的 ASCII (在 utf-8 裡仍只需要一個位元組),文字將不會有不必要的位元組。

可變長度的缺點是,查找字元時無法快速地 (O(1) 常數時間) 用索引完成 (例如:my_text[3] 以取得第 4 個元)。 的確有可能在前面的字元可以有可變的寬度,修改第 4 個字元事實上是從第一個位元組開始。

取而代之的是,我們必定得迭代整個 utf-8 位元序列,才有辦法知道萬國碼是從哪裡開始 (O(n) 線性時間)。

Ferris:「我非常高興有 utf-8 可以用 emoji 來表示我的水底朋友們。」"

🐠🐙🐟🐬🐋

Mascot Ferris