8X UTF-8X區域動態表示架構 EN

錨點、區域、確定性解碼

容器由固定標頭、manifest 與一連串可獨立回復的區塊組成。每個區塊記錄 codec、codec 版本、字典識別、字典雜湊、位移與校驗值 —— 足以讓一個從未見過編碼端的解碼器完成工作。

四個層次

Unicode

語義層

Scalar value。字元本身的身份。

UTF-8

錨點層

所有表示都必須能返回的規範性、可驗證形式。

UTF-8X

區域表示層

逐區塊、依成本而非慣例選擇的可逆表示。

Task

執行層

儲存、網路、搜尋、編輯器、模型推論 —— 各有各的權重。

逐區塊的候選 codec

調度器依成本函數逐區塊選擇,而「選擇原始 UTF-8」是合法答案。UTF-8X 的最差情況應該接近「多一個有限標頭的 UTF-8 容器」,而不是完全不可讀。

raw

原始 UTF-8,逐字保留

ld1

高頻字元與詞組的局部字典與短碼

delta

相鄰 scalar 之間的碼點差分

brotli

通用壓縮,可搭配共享字典

zstd

透過系統 libzstd 的通用壓縮

兩種可逆性,絕不混為一談

語義往返要求輸入是格式良好的 UTF-8,並保證取回相同的 Unicode scalar 序列 —— 不執行任何未宣告的正規化、字形替換或異體字合併。

逐位元往返則在來源含有格式錯誤的 UTF-8、歷史非法位元組、檔案簽名或非文字區段時才需要。此時只保存語義並不足夠,必須加入原始位元組逃逸。

容器必須宣告自己處於哪一種模式。這是兩種不同的保證,格式不允許它們模糊。

不存在全域最佳表示

調度器最小化一個加權成本:編碼後大小、編碼時間、解碼時間、記憶體、隨機存取成本、標頭與字典開銷、相容性風險。歸檔任務加重大小;即時聊天加重解碼延遲與標頭成本;編輯器加重隨機存取。

正因為權重隨任務而異,沒有任何單一碼表能永久最佳。這就是「逐區域選擇」而非「宣告贏家」的理由。

已寫明的失效模式

  • 字典投毒 —— 外部字典必須以雜湊識別,不能只靠名稱或路徑。
  • 解壓縮資源耗盡 —— 容器必須在解碼前限制解碼長度與膨脹比。
  • 狀態失同步 —— 線上演化的字典需要世代編號、checkpoint 與退回原始 UTF-8 的路徑。
  • 內容側信道 —— 機密文字與攻擊者可控文字不得共用會影響長度的自適應字典。
  • 對調度器的提示注入 —— 分析器輸出受 schema 約束並由確定性驗證器複查;文字永遠不被當成指令。