网络字节序
来源:互联网 发布:阿里云控制台 html 编辑:程序博客网 时间:2024/05/29 04:33
网络字节序
网络上传输的数据都是字节流,对于一个多字节数值,在进行网络传输的时候,先传递哪个字节?也就是说,当接收端收到第一个字节的时候,它将这个字节作为高位字节还是低位字节处理,是一个比较有意义的问题;
UDP/TCP/IP协议规定:把接收到的第一个字节当作高位字节看待,这就要求发送端发送的第一个字节是高位字节;而在发送端发送数据时,发送的第一个字节是该数值在内存中的起始地址处对应的那个字节,也就是说,该数值在内存中的起始地址处对应的那个字节就是要发送的第一个高位字节(即:高位字节存放在低地址处);由此可见,多字节数值在发送之前,在内存中因该是以大端法存放的;
所以说,网络字节序是大端字节序;
比如,我们经过网络发送整型数值0x12345678时,在80X86平台中,它是以小端发存放的,在发送之前需要使用系统提供的字节序转换函数htonl()将其转换成大端法存放的数值;如下图2所示:
网络上传输的数据都是字节流,对于一个多字节数值,在进行网络传输的时候,先传递哪个字节?也就是说,当接收端收到第一个字节的时候,它将这个字节作为高位字节还是低位字节处理,是一个比较有意义的问题;
UDP/TCP/IP协议规定:把接收到的第一个字节当作高位字节看待,这就要求发送端发送的第一个字节是高位字节;而在发送端发送数据时,发送的第一个字节是该数值在内存中的起始地址处对应的那个字节,也就是说,该数值在内存中的起始地址处对应的那个字节就是要发送的第一个高位字节(即:高位字节存放在低地址处);由此可见,多字节数值在发送之前,在内存中因该是以大端法存放的;
所以说,网络字节序是大端字节序;
比如,我们经过网络发送整型数值0x12345678时,在80X86平台中,它是以小端发存放的,在发送之前需要使用系统提供的字节序转换函数htonl()将其转换成大端法存放的数值;如下图2所示:
0 0
- 关于网络字节序
- 网络数据包字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序转换
- 浅析网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序
- 网络字节序问题
- linux 网络字节序
- 分治算法求一个集合中的最大数
- TYVJ P1334 powermax
- 《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的
- Phonegap-Android的backbone-min.js之集合
- Jquery插件——thickbox分享
- 网络字节序
- mac下安装mcrypt扩展
- 设计模式C++学习笔记之二(Proxy代理模式)
- Android仿QQ窗口的抖动的动画效果
- usb hid gadget模拟鼠标键盘
- C++中父类的虚函数必须要实现吗?
- led58k280j电视刷机
- android:windowSoftInputMode
- 使用NLPIR汉语分词工具进行中文分词(java语言)