关于big-enidan和sm
all-endian:
文中并没有对big和littl e得“前”得含义解释清楚,于是
,有了问题。
以“汉”字为例,unicode 编码为6c49:
以windows下得notep ad保存为unicode得形式
,我们看到结果为“496C”,
保存为unicode big endian时,为“6C49”
.
当我们以linux下得od命令 查看时,我们发现,保存为uni
code形式得文件得显示为6C
49,后者也相反,
1)我们姑且解释为这是由于od 命令得显示差异造成,即故意使低
位字节显示在前。就是说,上述u
nicode保存形式得文件得实
际存储仍为496C,但是od命
令将他们调换了。
2)但是当我们同样以file文 件测试unicode big endian时,发现显示为Li
ttle endian,就是说,文件测试
得结果时window新建得bi
g endian得文件(保存得形式
为高位字节先显示)实际上为li
ttle endian形式。于是我们糊涂
了:到底什么样得形式为big什
么叫little?
我得结论时,所谓得big是指, 高位字节存高位,也就是在后面(
我们以文件开始为最前),即是说
,6C49保存为6C49时就是
big;但是od命令显示时,之
所以显示为496C,是因为它是
按照byte初一,一个一个显示
,存在低位得自然先显示,即是说
,将一个按照little endian形式存储得usc2
编码(2个字节)得低字节显示在
前面了;如果是按照big endian时,高字节在后面,
自然也就显示为后面。用dump
命令可以看到:
dump unicode.txt
Addr 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 2 4 6 8 A C E
-------- ---- ---- ---- ---- ---- ---- ---- ---- --------------- -
00000000 fffe 496c .~Il
文中并没有对big和littl
以“汉”字为例,unicode
以windows下得notep
当我们以linux下得od命令
1)我们姑且解释为这是由于od
2)但是当我们同样以file文
我得结论时,所谓得big是指,
dump unicode.txt
Addr 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 2 4 6 8 A C E
-------- ---- ---- ---- ---- ---- ---- ---- ---- ---------------
00000000 fffe 496c .~Il