你知道x86是什么字节序吗?还有怎么转换字节序吗?

 不管基於何種理由,網路封包在制定標準的過程中,採用的是big endian的系統,而x86 CPU 所使用的,則是little endian系統,因此對使用x86的CPU而言,網路程式的設計就必須額外考慮編碼轉換的問題,否則一個簡單的IP或是PORT的數值資料都可能因為編碼的問題,而被對方視為錯誤。

為了解決CPU與網路標準之間對數值編碼不同的問題,下列的函式可以幫助程式設計師完成轉換的工作:
htonl():把32位元數值從little endian轉換為big endian
htons():把16位元數值從little endian轉換為big endian
ntohl():把32位元數值從big endian轉換成little endian
ntohs():把16位元數值從big endian轉換成little endian
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值