socket中的ntohl() 和ntohs() ,以及htonl()和htons()
|
import socket 输出结果: ntohl is 3523477504 , htonl is 3523477504 1234 为十进制,转换成十六进制为4d2 (1)ntohl()函数是 Convert a 32-bit integer from network to host byte order. 4d2 ====》00 00 04 d2(32位) 排序,从右往左 便成为了 d2 04 00 00 windows(小端法:低位字节在低地址)下: addr addr+1 addr+2 addr+3 0x d2 04 00 00 0xd2040000 ,转换成十进制数即为3523477504 (2)ntohs()函数是Convert a 16-bit integer from network to host byte order. 4d2 ====》 04 d2(16位) 排序,从右往左 便成为了 d2 04 0xd204 ,转换成十进制数即为53764
接着我用data=1,验证了一下: import socket 输出结果为: ntohl is 16777216 , htonl is 16777216 解析: 1转换成32位的16进制为:0x 00 00 00 01,排序 0x 01 00 00 00 转换成十进制16的6次方 1转换成16位的16进制为:0x 00 01,排序 0x 01 00 转换成十进制为 16的2次方 |

浙公网安备 33010602011771号