字节序
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等,与发送的字符串等无关。
参见百度百科。