关于big-enidan和small-endian

关于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 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值