UTf-8 和 UTF-16 区别
来源:互联网 发布:女子不孕不育网络咨询 编辑:程序博客网 时间:2024/05/29 01:55
整理自http://swiftlet.net/ 侵删
先谈下ASCii 码,一个字节 ,只用了后面7位。可以表示128个字符。
Unicode是为整合全世界的所有语言文字而诞生的。任何字符在Unicode中都对应一个值。这个值就可以称为这个字符的Unicode值。Unicode的值通常写成 U+ABCD 的格式。
Unicode是为整合全世界的所有语言文字而诞生的。任何文字在Unicode中都对应一个值,这个值称为代码点(Code Point)。代码点的值通常写成 U+ABCD 的格式。而文字和代码点之间的对应关系就是UCS-2(Universal Character Set coded in 2 octets)。顾名思义,UCS-2是用两个字节来表示代码点,其取值范围为 U+0000~U+FFFF。
为了能表示更多的文字,人们又提出了UCS-4,即用四个字节表示代码点。它的范围为 U+00000000~U+7FFFFFFF,其中 U+00000000~U+0000FFFF和UCS-2是一样的。要注意,UCS-2和UCS-4只规定了代码点和文字之间的对应关系,并没有规定代码点在计算机中如何存储。规定存储方式的称为UTF(Unicode Transformation Format),其中应用较多的就是UTF-16和UTF-8了。
UTF-16统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示的现在要用两个字节表示,存储空间放大了一倍,而在网络带宽还非常有限的情况下,这样会增大网络传输的流量,而且也没有必要。而UTF-8采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以由1-6个字节组成。UTF-8的编码规则是:
(1)如果一个字节,最高位(第8位)为0,表示这是一个ASCII字符(00-7F)。可见,所有的ASCII编码已经是UTF-8了。
(2)如果一个字节,以11开头,连续的1的个数暗示这个字符的字节数,例如:110xxxxx代表它是双字节UTF-8字符的首字节。
(3)如果一个字节,以10开始,表示它不是首字节,需要向前查找才能得到当前字符的首字节。
UTF-16是完全对应于UCS-2的,即把UCS-2规定的代码点通过Big Endian或Little Endian方式直接保存下来。所以UTF-16采用2个字节来存储Unicode。UTF-16也可以表示UCS-4的部分字符,所以UTF-16也采用4个字节来存储Unicode。
- UTf-8 和 UTF-16 区别
- UTF-8和UTF-16的区别是啥?
- Unicode UTF-8 UTF-16 的区别和联系
- Unicode 和 UTF-8、UTF-16之间的区别
- utf-8 UTF-8 和utf8 区别
- 浅析unicode和UTF-8、UTF-16、UTF-32的区别
- UTF-8、UTF-16、Unicode的区别
- UTF-8与UTF-16的区别
- Unicode与UTF-8/UTF-16/UTF-32的区别
- Unicode与UTF-8/UTF-16/UTF-32的区别
- Unicode utf-8 utf-16 utf-32 区别
- Unicode,UTF-8,UTF-16,UTF-32,gb2312,gbk区别
- Unicode UTF-8 UTF-16 UTF-32区别与联系
- UTF-8、UTF-16、UTF-32的区别
- unicode 和 utf-8 utf-16 utf-32 ASCII ANSI
- utf-16和unicode区别
- Unicode编码:UTF-8和UTF-16
- ASCII,Unicode和UTF-8,UTF-16
- angular $http请求,spring mvc如何获得参数
- react-native-easy-toast, 一款简单易用的 Toast 组件,支持 Android&iOS.
- ACM程序设计书中题目--J(大写字母的更替)
- sdutacm-数据结构实验之数组二:稀疏矩阵
- 练习
- UTf-8 和 UTF-16 区别
- 记一次mysql连接数超200线上故障
- 深度学习21天实战Caffe学习笔记--笔记5--caffe中前向传播、反向传播及最优化求解过程
- 每日练习(8)
- 线程调度优先级和关联性
- 【前端js】实现一个函数可以对JavaScript中的5种主要数据类型进行赋值
- 通过jQuery中基本的动画方法
- android studio中使用 aar 和gradle 的配置
- hadoop学习笔记之zookeeper 安装配置