您的位置:首页 > 其它

[点点搬家]中文问题

2015-01-06 17:48 190 查看
[四年前的博客了,干得漂亮]

最初的字符集7bit, 共128种,后来出现了ASCII, America Standard Code for Information Interchange,IBM扩展的,8bit, 256种。

ANSI:ASCII以及其扩展集,如GB2312。正式名称为MBCS,Multi-Byte Character System,但通常称为ANSI。

扩展集太多了,不便于交流,产生了Unicode,Universal Multiple-Octet Coded Character Set,32bit, 65536种。

标准的Unicode称为UTF-16, UCS(Universal Character Set) Transformation Format,就是32bit, 65536种。

由于许多系统已经采用了单字节传输,所以出现了UTF-8,它可以对Unicode进行编码。

如,“连通”两个字的Unicode为:DE 8F 1A 90

进行UTF-8编码后为:E8 BF 9E E9 80 9A

看到,Unicode每个汉字对应32bit, UTF-8每个汉字对应48bit....

UTF-8, 8bit编码, ASCII不作变换, 其他字符做变长编码, 每个字符1-3 byte. 通常作为外码. 有以下优点:

与CPU字节顺序无关, 可以在不同平台之间交流

容错能力高, 任何一个字节损坏后, 最多只会导致一个编码码位损失, 不会链锁错误(如GB码错一个字节就会整行乱码) 

UTF-16, 16bit编码, 是变长码, 大致相当于20位编码, 值在0到0x10FFFF之间, 基本上就是unicode编码的实现. 它是变长码, 与CPU字序有关, 但因为最省空间, 常作为网络传输的外码.

UTF-16是unicode的preferred encoding.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  中文问题 i18n