名為 UTF-8000 的獨立提案擴展了 UTF-8 標準,允許程式碼點具有任意位元組長度,從而能夠在不使用特殊情況的情況下編碼非常大的數字或向量。這種方法保留了所有 UTF-8 屬性,同時移除了目前的四位元組限制。UTF-8000 繼承了 UTF-8 的兩個特殊情況:ASCII 保持不變,且兩位元組的 UTF-8 需要四個強制內容位來檢查過長編碼。該提案展示了可以使用多個起始位元組來表示長達 22 位元組或更多的程式碼單位,而無需引入新的特殊情況邏輯。
事件背景
UTF-8 是一種可變寬度字元編碼,能夠編碼所有可能的 Unicode 程式碼點。它最初在 RFC 2279 中定義,支援高達六位元組的序列,但在 2003 年為了與 UTF-16 的限制及實際實現限制保持一致,被限制為四位元組。此限制確保最大程式碼點保持在 Unicode 範圍 0x10FFFF 內。
社群觀察
社群成員對任意長度可能帶來的緩衝區溢位問題表示擔憂,認為實際上需要設定一個限制。其他人則將此方法與用於嵌入向量的霍夫曼編碼進行比較,並指出原始的 UTF-8 規格在 2003 年限制之前允許使用六位元組。



