ECI 的作用
ECI 告訴讀取器,後面的位元組適用哪一種字元集或資料解讀方式。沒有它,讀取器就得假設預設值,或從位元組本身去猜。
ECI 並非 QR Code 專有。這套機制由條碼產業協會 AIM 定義,Data Matrix、Aztec Code、PDF417、MaxiCode 與其他符號體系也支援。
在 QR Code 中如何編碼
ECI 片段以模式指示碼 0111 開頭,接著是一到三個位元組的 ECI 指定碼編號。這個解讀方式會一直有效,直到資料結束,或被另一個 ECI 改變。
- ECI 3:ISO-8859-1(Latin-1)
- ECI 20:Shift JIS
- ECI 26:UTF-8
- 指定碼範圍從 0 到 999999
實務上的支援
對 ECI 的支援並不平均。工業與文件掃描器通常會遵循它,但許多手機相機 App 會忽略它,改用檢查內容的方式偵測 UTF-8,這對大多數現代內容都行得通。
有些較舊的讀取器並不預期出現 ECI 標頭,可能顯示多餘的字元,或無法解析內容。對於日常的網址與純文字,大多數產生器會省略 ECI,依靠 UTF-8 偵測。