折叠 编辑本段 转换函数
为了进行转换 bsd socket提供了转换的函数 有下面四个
htons把unsigned short类型从主机序转换到网络西办事燃序
htonl 把unsigned long类型从主机来自序转换到网络序
ntohs 把unsigned short类型从网络序转换到主机序
ntoh半百散台l 把unsigned long类型从网络序转换到主机序
在使用little endi360百科an的系统中 这些函数会把字节日来双连独执话序进行转换
在使用big endian类型的境神磁青杂革想款系统中 这些函数会定义成空宏
同样 在网络程序开发时 或是跨平台开发时 也应该注意保证只用一种字节序 不然两方的解释不一样就会地般凯湖产生bug.
折叠 编辑本段 注意事项
1、网络与主机字节转换函重欢的各画育善验数:htons ntohs htonl ntohl (s 就是short l是long h是host n是network)
2、不同的CPU上运行行款指块到刑业治尔美不同的操作系统,继生字节序也是不同的,参见下表。
处理器 操作系统 字节排序
Alpha 全部 Little endian
HP-PA NT Little endian
HP-PA UNIX Big end及写育预教ian
Intelx层军还86 全部 Little endian