c 網路位元組序和本機位元組序轉換

2021-09-08 04:11:34 字數 476 閱讀 1829

將多位元組整數型別的資料,從主機的位元組順序轉化為網路位元組順序

#include

uint32_t htonl(uint32_t hostlong);

uint16_t htons(uint16_t hostshort);

uint32_t ntohl(uint32_t netlong);

uint16_t ntohs(uint16_t netshort);

htonl就是把本機位元組順序轉化為網路位元組順序。

所謂網路位元組順序(大尾順序)就是指乙個數在記憶體中儲存的時候「高對低,低對高」(即乙個數的高位位元組存放於低位址單元,低位位元組存放在高位址單元中)。但是計算機的記憶體儲存資料時有可能是大尾順序或者小尾順序。

h---host 本地主機

to  就是to 了

n  ---net 網路的意思

l 是 unsigned long

"s"表示short,"l"表示long

網路位元組序和本機位元組序

1.位元組序定義 是指整數在記憶體中儲存的順序。2.位元組序種類 a.little endinan 低位儲存在記憶體的低位址,高位儲存在記憶體的高位址 b.big endian 高位儲存在記憶體的低位址,低位儲存在記憶體的高位址 3.例子 dword dwcount 0x01020304 這樣的乙個...

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

在c c 寫網路程式的時候,往往會遇到位元組的網路順序和主機順序的問題。這是就可能用到htons ntohl ntohs htons 這4個函式。網路位元組順序與本地位元組順序之間的轉換函式 htonl host to network long ntohl network to host long ...

主機位元組序和網路位元組序轉換

為什麼要轉換?主機位元組序 整數在記憶體中儲存的順序,不同的處理器對應不容的模式 little endian 將低序位元組儲存在起始位址 big endian 將高序位元組儲存在起始位址 網路位元組序 整數在網路中的傳送順序 網路位元組順序是tcp ip中規定好的一種資料表示格式,它與具體的cpu型...