网络通信大端小端转换
1、 使用说明 大端又叫网络字节序,小端又叫主机字节序,在网络通信传输数据时候,通常是采用大端对齐方式,而在本机电脑中存储是小端对齐方式,像一些网络传输协议:RTP,在构造RTP头时候就需要转换为大端对齐方式。 2、看图详解大端小端 3、如何转换 在Linux系统下:htonl(),htons(), ntohl(), ntohs()的头文件及函数定义如下: #include <arpa/inet.h> / 常用函数: h:host to: 转换为 n:network l:long类型 s:short类型 / uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort); 注意: 只有数据类型超过1个字节以上的数据才需要进行转换 4、使用代码 # include <stdio.h> # include <arpa/inet.h> int main ( ) { long iSmallData = 0x12345678 ; long iBigData ; iBigData = htonl ( iSmallData ) ; //小端转大端(主机字节序转网络字节序) printf