当前位置:首页 > 开发 > 编程语言 > Java > 正文

java中的网络字节序

发表于: 2012-07-13   作者:cpjsjxy   来源:转载   浏览:
摘要: 常用的字节序 Little endian:将低序字节存储在起始地址。例如一个4字节的值为0x1234567的整数与高低字节对应关系: 01 23 45 67 Byte3 Byte2 Byte1 Byte0 将在内存中按照如下顺序排放: 内存地址序号 字节在内存中的地址 16进制值 0x03 Byte3 01 0x02 Byte2 23 0x01 Byte1 45 0x00 By
常用的字节序
Little endian:将低序字节存储在起始地址。例如一个4字节的值为0x1234567的整数与高低字节对应关系:
01 23 45 67
Byte3 Byte2 Byte1 Byte0
将在内存中按照如下顺序排放:
内存地址序号 字节在内存中的地址 16进制值
0x03 Byte3 01
0x02 Byte2 23
0x01 Byte1 45
0x00 Byte0 67
Big endian:将高序字节存储在起始地址。例如一个4字节的值为0x1234567的整数与高低字节对应关系:
01 23 45 67
Byte3 Byte2 Byte1 Byte0
将在内存中按照如下顺序排放:
内存地址序号 字节在内存中的地址 16进制值
0x03 Byte0 67
0x02 Byte1 45
0x01 Byte2 23
0x00 Byte3 01

网络字节序
网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian排序方式。
如果通信的一方是JAVA程序,一方是C/C++程序时,则需要在C/C++一侧使用以上几个方法进行字节序的转换,而JAVA一侧,则不需要做任何处理,因为JAVA字节序与网络字节序都是BIG-ENDIAN,只要C/C++一侧能正确进行转换即可(发送前从主机序到网络序,接收时反变换)。如果通信的双方都是JAVA,则根本不用考虑字节序的问题了。

java中的网络字节序

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号