Unicode编码方式的理解

Unicode简单来说就是对世界上所有的字符进行了统一的编码。

1:Unicode和非Unicode的区别

Unicode字符串:(1)Nchar:n个字符的固定长度的Unicode字符数据。n值必须在1~4000之间。存储大小为两倍的n字节。

Unicode用法和普通字符串的用法一致,但是Unicode支持的字符范围更大,存储Unicode字符所需要的空间更大。

Unicode数据:unicode标准为全球商业邻域中广泛使用的大部分字符定义了一个单一编码方案。所有计算机都用单一的unicode标准unicode数据中的位模式一致的翻译成字符。这保证了同一个位模式在所有的计算机上总是转换成同一个字符。数据可以随意的从一个数据库或者计算机传送到另一个数据库或计算机,而不用担心接收系统是否会错误地翻译位模式。

Unicode规格通过采用两个字节编码每个字符。

UTF-8编码方式

最大地特点就是可变长。它可以使用1-4个字节表示一个字符,根据字符的不同变换长度编码规则如下:

1:对于单个字节的字符,第一位设为0,后面的7位对应这个字符的Unicode码点。因此,对于英文中的0-127号字符,与ASCII码完全相同。这意味着ASCII码那个年代的文档用UTF-8编码打开完全没有问题。

2:对于需要使用N个字节来表示的字符(N>1),第一个字节的前N位都设为1,第N+1位设为0,剩余的N-1个字节的前两位都设为10,剩下的二进制位则使用这个字符的unicode码点来填充。

UTF-16编码方式:

UTF-16编码介于UTF-32与UTF-8之间,同时结合了定长和变长两种编码方式的特点。它的编码规则很简单:基本平面的字符占用2个字节,辅助平面的字符占用4个字节。也就是说,UTF-16的编码长度要么是2个字节(U+0000到U+FFFF),要么是4个字节(U+010000到U+10FFFF)。

猜你喜欢

转载自blog.csdn.net/qq_41989372/article/details/84841676