1.Little endian(LE):將低序字節存儲在起始地址
2.Big endian(BE):將高序字節存儲在起始地址
3.網絡字節順序採用big endian排序方式,包括ip地址或者port端口的設置(需要htons等轉換),指的是內存地址的大端序,即與內存實際存儲的數據位置一致。
將int a=0x1234abcd寫入到以0x0000開始的內存,
big-endian little-endian
0x0000 0x12 0xcd
0x0001 0x23 0xab
0x0002 0xab 0x34
0x0003 0xcd 0x12
在x86/arm機器上,發送數據前,查看a的內存得到cd ab 34 12,是小端序。
發送a到網絡上,抓包得到cd ab 34 12,內容是小端序,發送順序與實際地址順序一致,針對於內存地址是大端序。
在x86/arm機器上,接收數據後,查看a的內存得到cd ab 34 12,是小端序。實際打印出來是0x1234abcd(不需要htons等的轉換)。