主機位元組序和網路位元組序(大端序,小端序,網路序)

2021-09-24 10:40:10 字數 604 閱讀 4056

根據cpu的不同我們可以把主機位元組序在記憶體中儲存的順序叫做主機序,也就是我們常說的,大端機和小端機。我們經常看到的有兩種:

1.小端機(記憶體中以小端序儲存的機器);將低位元組序儲存在開始的位址(及記憶體較小的記憶體)

舉個例子:我們將記憶體從左到右排列:在記憶體中存放0x01020304

2000     2001    2002     2003

小 : 04             03         02           01

大: 01               02         03          04

(我們熟悉的x86系列的cpu都是小端序)

網路位元組序就不一樣了,它是tcp/ip中規定好的一種表示資料的格式,沒有什麼大端小端之分。跟cpu和作業系統都沒關係。只是為了保證資料在不同的作業系統之間能夠正確的傳遞共享。網路位元組序是用的大端序模式。所以在我們用的小端機中如果伴隨著資訊的傳遞,就會有大端序,小端序之間的轉換。當然這都是系統內部的好函式自己來完成的。

發表於

2015-04-28 15:52

周某某 閱讀(

...)

編輯收藏

重新整理頁面

返回頂部

大端位元組序 小端位元組序(網路位元組序 主機位元組序)

大端位元組序 整數的高位位元組儲存在記憶體的低位址處,低位元組儲存在記憶體的高位址處。一般pc大多採用小端位元組序,也稱為主機位元組序。網路上傳輸採用大端位元組序,也稱為網路位元組序。linux中常用轉換函式如下 include uint32 t htonl uint32 t hostlong 無符...

大端和小端(網路位元組序和主機位元組序)

大端和小端 網路位元組序和主機位元組序 大端 big endian 即網路位元組序。小端 littile endian 即主機位元組序。記憶方式 網路的範圍很大,所以大端是網路位元組序。大端方式將高位存放在低位址,小端方式將低位存放在高位址。採用大端方式進行資料存放符合人類的正常思維,而採用小端方式...

大端和小端(網路位元組序和主機位元組序)

大端和小端 網路位元組序和主機位元組序 大端 big endian 即網路位元組序。小端 littile endian 即主機位元組序。記憶方式 網路的範圍很大,所以大端是網路位元組序。大端方式將高位存放在低位址,小端方式將低位存放在高位址。採用大端方式進行資料存放符合人類的正常思維,而採用小端方式...