目录
- 为什么要字节序转换?
- 网络协议指定通讯字节序为大端
- 字节序转换函数
- 主机字节序转换为网络字节序
- hton1 (host to network l是length指长整型)
- htons (host to network s是short指短整型)
- 两个函数的代码案例
- 网络字节序转主机字节序
- ntoh1
- ntohs
为什么要字节序转换?
两台机器通信,如果字节序不同就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 78short b=0x1234;printf("%#x\n",htonl(a));printf("%#x\n",htons(b));return 0;
}