字节序是什么

字节序即大于一个字节类型的数据在内存中的存放顺序

大端序 vs 小端序

高地址/低地址

栈顶低地址,栈底高,在类型数组中,左边是低地址,右边是高地址,因为在 JS 的类型数组中,内存是从左到右排列的

高字节/低字节

即字符从左到右由高到低

小端序(Little-Endian)

低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。

大端序(Big-Endian)

高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

网络字节序

TCP/IP各层协议将字节序定义为 Big-Endian(这与主机序相反),因此TCP/IP协议中使用的字节序通常称之为网络字节序。

demo

// demo 0x12345678
a = new Uint32Array([0x12345678]) // 高位字节在高地址端,用的是小端序
//buffer unit8Array
/*
{
"0": 120, //0x78
"1": 86, // 0x56
"2": 52, // 0x34
"3": 18 //0x12
}
*/

参考文献:

小端字节序与大端字节序