跳至內容

UTF-1

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
UTF-1
語言國際
現狀已廢棄
分類Unicode轉換格式
EASCII
變長編碼
拓展自ASCII
變換/編碼ISO 10646Unicode
後續UTF-8

UTF-1是一種將ISO 10646 / Unicode轉化成位元組流的方式。由於其本身的設計問題,如果自中間的一個字元開始解碼,UTF-1將無法重新同步(這造成擷取的困難),而且UTF-1也沒辦法進行可靠的位元組搜尋。又因為UTF-1使用的除數不是2的冪,所以轉化得也相當緩慢。由於以上這些問題,UTF-1從來沒有得到廣泛採用,並已被UTF-8所取代。

設計

UTF-1是一個類似於UTF-8的多位元組編碼;一個單一的Unicode代碼點可以被編碼成一個、兩個、三個或五個八位位元組。而如同UTF-8ASCII碼系列可被編碼為一個八位位元組,ASCII碼的八位位元組0X21 - 0x7E(十進制數33-126)也被用於UTF-1多位元組編碼;所以UTF-1不適合於許多互聯網協定,包括MIME

UTF-1在其他編碼里不使用C0和C1控制碼-任何0x00-0X20或0x7F-0x9F的八位位元組代表相應的在ISO-8859-1的編碼位置(分別為U+0000-0020和U+007F-009F)。這種設計有66個八位位元組的保護力求與ISO 2022相容。

UTF-1編碼系統使用190的求模運算(256-66=190),它被設計用來對完整的31位元原版通用字元集(UCS-4)進行編碼。相比較而言,UTF-8保護所有128個ASCII八位位元組,而且需要兩個跟蹤位元組的多位元組編碼才能達成這個目的,它構成對64的求模運算(8-2=6, 26=64)。BOCU-1只保護所需的相容MIME的極小集(0x00,0X07-0X0F,0X1A-0X1B和0X20),構成對243的求模運算(256-13=243)。

編碼位置 UTF-16BE UTF-16LE UTF-8 UTF-1
U+007F 007F 7F00 7F 7F
U+0080 0080 8000 C280 80
U+009F 009F 9F00 C29F 9F
U+00A0 00A0 A000 C2A0 A0A0
U+00BF 00BF BF00 C2BF A0BF
U+00C0 00C0 C000 C380 A0C0
U+00FF 00FF FF00 C3BF A0FF
U+0100 0100 0001 C480 A121
U+015D 015D 5D01 C59D A17E
U+015E 015E 5E01 C59E A1A0
U+01BD 01BD BD01 C6BD A1FF
U+01BE 01BE BE01 C6BE A221
U+07FF 07FF FF07 DFBF AA72
U+0800 0800 0008 E0A080 AA73
U+0FFF 0FFF FF0F E0BFBF B548
U+1000 1000 0010 E18080 B549
U+4015 4015 1540 E48095 F5FF
U+4016 4016 1640 E48096 F62121
U+D7FF D7FF FFD7 ED9FBF F72FC3
U+E000 E000 00E0 EE8080 F73A79
U+F8FF F8FF FFF8 EFA3BF F75C3C
U+FDD0 FDD0 D0FD EFB790 F762BA
U+FDEF FDEF EFFD EFB7AF F762D9
U+FEFF FEFF FFFE EFBBBF F7644C
U+FFFD FFFD FDFF EFBFBD F765AD
U+FFFE FFFE FEFF EFBFBE F765AE
U+FFFF FFFF FFFF EFBFBF F765AF
U+10000 D800DC00 00D800DC F0908080 F765B0
U+38E2D D8A3DE2D A3D82DDE F0B8B8AD FBFFFF
U+38E2E D8A3DE2E A3D82EDE F0B8B8AE FC21212121
U+FFFFF DBBFDFFF BFDBFFDF F3BFBFBF FC2137B27A
U+100000 DBC0DC00 C0DB00DC F4808080 FC2137B27B
U+10FFFF DBFFDFFF FFDBFFDF F48FBFBF FC21396E6C

參見

參考文獻

  • ISO IR 178 (PDF,256 KB,不再被使用的UTF-1規範)