網路位元組序與主機位元組序的介紹與對比

2021-10-09 10:55:12 字數 1001 閱讀 8062

文件宣告:

以下資料均屬於本人在學習過程中產出的學習筆記,如果錯誤或者遺漏之處,請多多指正。並且該文件在後期會隨著學習的深入不斷補充完善。

網路位元組序:網路位元組順序是tcp/ip中規定好的一種資料表示格式,它與具體的cpu型別、作業系統等無關,從而可以保證資料在不同主機之間傳輸時能夠被正確解釋。網路位元組順序採用big endian(大端)排序方式。

tcp/ip協議規定,網路資料流採用大端(big endian)位元組序,低位址存高位元組序,高位址低位元組序(網路位元組序);即網路資料流的位址中先發出的資料是低位址,後發出的是高位址。

主機位元組序:

主機位元組序和網路序剛好相反,其採用小端(little endian)模式儲存儲存,低位址存低位元組序,高位址存高位元組序。

兩者的互**

//網路與主機位元組轉換函式:htons ntohs htonl ntohl (s 就是short l是long h是host n是network)

標頭檔案:

在linux的標頭檔案

#include

在windows的標頭檔案

#include

#pragma comment(lib, "wsock32.lib")

htons 把 unsigned short 型別從主機序轉換到網路序   

htonl 把 unsigned long 型別從主機序轉換到網路序

ntohs 把 unsigned short 型別從網路序轉換到主機序   

ntohl 把 unsigned long 型別從網路序轉換到主機序

注意:

主機位元組序與網路位元組序

主機位元組序 不同的cpu有不同的位元組序型別 這些位元組序是指整數在記憶體中儲存的順序 這個叫做主機序 最常見的有兩種 1 little endian 將低序位元組儲存在起始位址 2 big endian 將高序位元組儲存在起始位址 le little endian 最符合人的思維的位元組序 位址...

網路位元組序與主機位元組序

1 本地位元組序 由 於不同的計算機系統採用不同的位元組序儲存資料,同樣乙個4位元組的32位整數,在記憶體中儲存的方式就不同.位元組序分為小尾位元組序 little endian 和大尾位元組序 big endian intel處理器大多數使用小尾位元組序,motorola處理器大多數使用大尾 bi...

網路位元組序與主機位元組序

網路位元組序與主機位元組序 不同的cpu有不同的位元組序型別 這些位元組序是指整數在記憶體中儲存的順序 這個叫做主機序 最常見的有兩種 1 little endian 將低序位元組儲存在起始位址 2 big endian 將高序位元組儲存在起始位址 le little endian 最符合人的思維的...