UTF-8和UTF-16简介说明
下文笔者讲述“UTF-8和UTF-16”的简介说明
UTF-8和UTF-16简介
UTF-8和UTF-16都是可变长度编码 但在UTF-8中,字符可能至少占据8位,而在UTF-16中,字符长度以16位开始
UTF-8主要优点
基本ASCII字符(如数字,不带重音的拉丁字符等)占据一个字节与US-ASCII表示形式相同 所有US-ASCII字符串都变为有效的UTF-8,大多数情况下,它都提供了良好的向后兼容性 没有空字节,允许使用以空终止的字符串,这也引入了大量的向后兼容性 UTF-8与字节顺序无关,无需担心Big Endian/Little Endian问题
UTF-8主要缺点
由于常见字符的长度不同 这会减慢按代码点编制索引的速度 并严重降低计算代码点计数的速度 即使字节顺序无关紧要,有时UTF-8仍具有BOM(字节顺序标记) 用于通知文本以UTF-8编码 并且即使文本仅包含ASCII字符也破坏了与ASCII软件的兼容性
UTF-16主要优点
包括拉丁语,西里尔字母,大多数中文(中华人民共和国对BMP以外的某些代码点提供了强制性支持), 大多数日语可用2个字节表示 将加快索引和计算代码点计数情况下
UTF-16主要缺点
US-ASCII字符串中有很多空字节,非常浪费内存
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。