UTF-1
UTF-1是一种将ISO 10646 / Unicode转化成字节流的方式。由于其本身的设计问题,如果自中间的一个字符开始解码,UTF-1将无法重新同步(这造成截取的困难),而且UTF-1也没办法进行可靠的字节搜索。又因为UTF-1使用的除数不是2的幂,所以转化得也相当缓慢。由于以上这些问题,UTF-1从来没有得到广泛采用,并已被UTF-8所取代。
语言 | 国际 |
---|---|
现状 | 已废弃 |
分类 | Unicode转换格式 EASCII 变长编码 |
拓展自 | ASCII |
变换/编码 | ISO 10646 (Unicode) |
后续 | UTF-8 |
设计
UTF-1是一个类似于UTF-8的多字节编码;一个单一的Unicode代码点可以被编码成一个、两个、三个或五个八位字节。而如同UTF-8,ASCII码系列可被编码为一个八位字节,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规范)