目录
为什么要字节序转换?
两台机器通信,如果字节序不同就G了。
如果我是小端,你是大端,我接收你传过来的内容,最终呈现出来东西就出问题了。
如果只有一个字节的话,那没事了。
运行在同一台计算机上的进程相互通信也不需要考虑字节序。
不同的计算机通讯时都将自己的字节序转换为网络字节序。
网络协议指定通讯字节序为大端
字节序转换函数
主机字节序转换为网络字节序
hton1 (host to network l是length指长整型)
htons (host to network s是short指短整型)
两个函数的代码案例
#include<stdio.h>
#include<arpa/inet.h>
int main(int argc,char const * argv[])
{
int a=0x12345678; //int四个字节,分别存储12 34 56 78
short b=0x1234;
printf("%#x\n",htonl(a));
printf("%#x\n",htons(b));
return 0;
}