字节序

0. 字节序的参考基准是人的理解。比如0x1122,根据人的理解,11是高字节,22是低字节。

1. 无论如何,计算机的内存地址编号是从低到高,并且以字节为单位。cpu的指针也是从低到高移动。

2. cpu指针移动时,先读的如果是低字节,就是little endian。反之为big endian。

3. 如果little endian 的机器与big endian的机器通信,在没有转换字节序的情况下,会出现问题。问题所在:根据1和2条可以推知,little机器认为先读到的是低字节,big认为先读到的是高字节。于是little先发送低字节,big接受时认为是高字节。

4. 主机字节序与CPU有关。Intel X86与AMD都是little endian的cpu。PowerPC为big endian的CPU。

    网络字节序:Internet上是big endian。

    java字节序:  java为internet而生,因此也是big endian。 

5. 字节序只和多字节类型有关,比如int,short等,与发送的字符串等无关。

参见百度百科。

posted on 2011-02-23 12:08  joolu  阅读(241)  评论(0编辑  收藏  举报