ntohs =net to host short int 16位
htons=host to net short int 16位
ntohl =net to host long int 32位
htonl=host to net long int 32位
ntohs简述: 将一个无符号短整形数从网络字节顺序转换为主机字节顺序。
#include u_short PASCAL FAR ntohs( u_short netshort);
一个以网络字节顺序表达的16位数。
注释:
本函数将一个16位数由网络字节顺序转换为主机字节顺序。
返回值:
ntohs()返回一个以主机字节顺序表达的数。
从网络字节序转换为主机字节序 由于intel都是小端little endian ,网络上都是大端big endian
short 或者 long的数据在进行通信的时候最好养成:
1、发送的时候使用:htons(l)
2、接受的时候使用:ntohs(l)
而不要理会两边的通信是否需要这么做 当然字符型是不需要的~
(To be continue...)
考虑到:
C中的数据类型都是从内存的低地址向高地址扩展,取址运算"&"都是取低地址。
所以我们可以做一个函数来判断大小端














小端采用的是高高低低原则:数据的低字节存放在内存低地址中,高字节存放在高地址中。
(To be continue....)