网络字节序与主机字节序的转换函数(实践)

什么是字节序?

  字节序,顾名思义,指字节在内存中存储的顺序。

  (1)小端字节序,数值低位存储在内存的低地址,高位存储在内存的高地址;
  (2)大端字节序,数值高位存储在内存的低地址,低位存储在内存的高地址。

 

字节序转换:

  网络字节序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而保证数据在不同主机之间传输时能够被正确解释。

  网络字节序转化为主机字节序时,一定要注意是否需要转换。网络字节序是确定的。

  网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big-endian(大端)排序方式。

转换函数:

为了进行转换 bsd socket提供了转换的函数 有下面四个

  htons把unsigned short类型从主机序转换到网络序

  htonl 把unsigned long类型从主机序转换到网络序

  ntohs 把unsigned short类型从网络序转换到主机序

  ntohl 把unsigned long类型从网络序转换到主机序

 

 

 
posted @   抹月披风  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示