您的位置:首页 > 其它

字符编码格式的显示与存储示例分析

2015-07-30 19:32 423 查看
汉字“严”的unicode是十六进制数4E25,转换成二进制数足足有15位(100111000100101),也就是说这个符号的表示至少需要2个字节。

“严”的UTF-8编码是“11100100 10111000 10100101”,这是保存在计算机中的实际数据,转换成十六进制就是E4B8A5,转成十六进制的目的为了便于阅读。

=====================================================================

1)ANSI:文件的编码就是两个字节“D1 CF”,这正是“严”的GB2312编码,这也暗示GB2312是采用大头方式存储的。

2)Unicode:编码是四个字节“FF FE 25 4E”,其中“FF FE”表明是小头方式存储,真正的编码是4E25。

3)Unicode big endian:编码是四个字节“FE FF 4E 25”,其中“FE FF”表明是大头方式存储。

4)UTF-8:编码是六个字节“EF BB BF E4 B8 A5”,前三个字节“EF BB BF”表示这是UTF-8编码,后三个“E4B8A5”就是“严”的具体编码,它的存储顺序与编码顺序是一致的。

=====================================================================

如果接收到的字符串内容为\u4e25,表示该字符串为Unicode编码,需要转换为中文格式(ANSI)。



=====================================================================

我们用ue查看(ASCII编码格式),\u4e25 在内存中的内容如下:



\u4e25只不过是“严”这个汉字在屏幕的显示,其在内存中的字节存储为:(100111000100101),而不是5C
75 34 65 32 35。

=====================================================================

我们用ue查看(ASCII编码格式),“严”在内存中的内容如下:



=====================================================================

我们用ue查看(UNICODE编码格式),“严”在内存中的内容如下:



=====================================================================

我们用ue查看(UTF-8编码格式),“严”在内存中的内容如下:



=====================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: