网络协议指定通讯字节序--大端
运行在同一台计算机的进程不用考虑字节序
多台计算机通讯时。需要转换为大端字节序
统一头文件:#include
host-->>network
*htonl
uint32_t htonl(uint32_t hostint32)
功能将32位主机字节序转换成网络字节序
参数hostint32待转换的32位字节序
返回值:
成功返回网络字节序
*htons
uint16_t htonl(uint16_t hostint16)
功能将16位主机字节序转换成网络字节序
参数hostint16待转换的16位字节序
返回值:
成功返回网络字节序
network-->>host
ntohl
uint32_t ntohl(uint32_t hostint32)
功能将32位网络字节序转换成主机字节序
参数:uint32_t:unsigned short int
netint32待转换的32位网络字节序
返回值:
成功返回主机字节序
ntohs
uint16_t ntohs(uint16_t hostint16)
功能将16位网络字节序转换成主机字节序
参数:uint16_t:unsigned short int
netint16待转换的16位网络字节序
返回值:
成功返回主机字节序
案例:
#include
#include
int main (int argc,char const * argv[])
{
short b=0x1234;
printf("%#x",htonl(a));
printf("%#x",htons(b));
return 0;
}
领取专属 10元无门槛券
私享最新 技术干货