**:
little-endian就是低位位元組排放在記憶體的低位址端,高位位元組排放在記憶體的高位址端。
big-endian就是高位位元組排放在記憶體的低位址端,低位位元組排放在記憶體的高位址端。
udp/tcp/ip協議規定:把接收到的第乙個位元組當作高位位元組看待,這就要求傳送端傳送的第乙個位元組是高位位元組;而在傳送端傳送資料時,傳送的第乙個位元組是該數值在記憶體中的起始位址處對應的那個位元組。也就是說,該數值在記憶體中的起始位址處對應的那個位元組就是要傳送的第乙個高位位元組(即:高位位元組存放在低位址處)
所以說,網路位元組序是大端位元組序;
比如,我們經過網路傳送整型數值0x12345678時,在80x86平台中,它是以小端發存放的。在傳送之前需要使用系統提供的位元組序轉換函式htonl()將其轉換成大端法存放的數值。
位元組序測試:
#include
#include
int main(int argc,char** argv)
python 網路位元組序轉換 網路位元組序
一.位元組序 位元組序是由於不同的主處理器和作業系統,對大於乙個位元組的變數在記憶體中的存放順序不同而產生的。位元組序通常有大端位元組序列和小端位元組序兩種分類方法。由於主機的千差萬別,主機的位元組序不能做到統一,但是網路上傳輸的數值,它們有統一的規定。網路位元組序 是指多位元組變數在網路傳輸時的表...
網路位元組序
網路位元組序 網路上傳輸的資料都是位元組流,對於乙個多位元組數值,在進行網路傳輸的時候,先傳遞哪個位元組?也就是說,當接收端收到第乙個位元組的時候,它將這個位元組作為高位位元組還是低位位元組處理,是乙個比較有意義的問題 udp tcp ip協議規定 把接收到的第乙個位元組當作高位位元組看待,這就要求...
網路位元組序
網路位元組序 一.位元組序 位元組序是由於不同的主處理器和作業系統,對大於乙個位元組的變數在記憶體中的存放順序不同而產生的。位元組序通常有大端位元組序列和小端位元組序兩種分類方法。由於主機的千差萬別,主機的位元組序不能做到統一,但是網路上傳輸的數值,它們有統一的規定。網路位元組序 是指多位元組變數在...