UTF-8编码不含0x00,与CPU字节顺序无关,容错能力高,任何字节损坏只会导致一个码位损失

对字符编码与Unicode、ISO 10646、UCS、UTF8、UTF16、GBK、GB2312的理解》中写道,

Unicode是一个字符集,可以看作为内码。

而UTF是一种编码方式,它的出现是因为unicode不适宜在某些场合直接传输和处理。UTF-16直接就是unicode编码,没有变换,但它包含了0×00在编码内,头256字节码的第一个byte都是0×00,在操作系统(C语言)中有特殊意义,会引起问题。采用UTF-8编码对unicode的直接编码作些变换可以避免这问题,并带来一些优点。

这种编码的官方名字拼写为UTF-8,其中UTF代表UCS Transformation Format。UTF-8是8bit编码,ASCII不作变换,其他字符做变长编码,每个字符1-3 byte。通常作为外码。有以下优点: 与CPU字节顺序无关,可以在不同平台之间交流;容错能力高,任何一个字节损坏后,最多只会导致一个编码码位损失,不会链锁错误。

全文阅读《对字符编码与Unicode、ISO 10646、UCS、UTF8、UTF16、GBK、GB2312的理解》。



波波坡原创文章 链接:http://www.bobopo.com/article/blog/201110/utf-8的优点.htm

标签:

关键词: Unicode, UTF8, 字符集, 容错能力, 内码, 操作系统, C语言, ASCII, 变长编码, 外码, 字节损坏

创建日期: 2011-10-26

修改日期: 2011-10-26

博客 作品 文库 微博 首页