我們常用的 x86 CPU 電腦是 little-endian,也就是整數的低位字節放在內存的低字節處。
舉個例子吧。假定你的數據是0x1234,
在網絡字節順序裏 這個數據放到內存中就應該顯示成
addr addr+1
0x12 0x34
而在x86電腦上,數據0x1234放到內存中實際是:
addr addr+1
0x34 0x12
htons 的用處就是把實際主機內存中的整數存放方式調整成網絡字節順序。
htons將主機(內存)字節順序轉成網絡字節順序
數據在內存中是按照低字節在前高字節在後的順序存儲的
網絡字節順序是按照高字節在在前低字節在後的順序的
0x1234
在內存中
addr addr+1
0x34 0x12
網絡字節順序
addr addr+1
0x12 0x34