主機字節序與網絡字節序

big endian:     高位字節放在 低位內存中
little endian     高位字節放在 高位內存中

例子:如果我們將0x1234abcd寫入到以0x0000開始的內存中,則結果爲
          big-endian      little-endian
0x0000  0x12          0xcd
0x0001  0x23          0xab
0x0002  0xab          0x34
0x0003  0xcd          0x12

網絡字節順序採用big endian排序方式。即高位數據放在低位內存中 。

主機字節序依賴系統實現的不同而不同,但是網絡字節序是獨立於平臺的。因此,從網絡中接受的網絡數據必須經過轉化爲符合主機字節序,才能正確的賦予語義。

網絡與主機字節轉換函數:
htons ntohs htonl ntohl
(s 是short l是long h是host n是network)

參考:http://todd-liu.javaeye.com/blog/697842

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章