std.binary 包
功能介绍
binary 包提供了基础数据类型和二进制字节数组的不同端序转换接口,以及端序反转接口。
端序(Endianness),又称字节顺序或者尾序,在计算机科学领域中,指存储器中或在数字通信链路中,组成多字节的字的字节的排列顺序。
在几乎所有的机器上,多字节对象都被存储为连续的字节序列。
字节的排列方式有两个通用规则。例如,将一个多位数的低位放在较小的地址处,高位放在较大的地址处,则称小端序;反之则称大端序。在网络应用中,字节序是一个必须被考虑的因素,因为不同机器类型可能采用不同标准的字节序,所以均按照网络标准转化。
大端序
大端序(big-endian)或称大尾序。
- 
数据以8位为单位: 地址增长方向: ...→0x0A→0x0B→0x0C→0x0D→...示例中,最高位字节是 0x0A存储在最低的内存地址处。下一个字节0x0B存在后面的地址处。正类似于十六进制字节从左到右的阅读顺序。
- 
数据以16位为单位: 地址增长方向: ...→0x0A0B→0x0C0D→...最高的16位单元 0x0A0B存储在低位。
小端序
小端序(little-endian)或称小尾序。
- 
数据以8位为单位: 地址增长方向: ...→0x0D→0x0C→0x0B→0x0A→...最低位字节是 0x0D存储在最低的内存地址处。后面字节依次存在后面的地址处。
- 
数据以16位为单位: 地址增长方向: ...→0x0C0D→0x0A0B→...最低的16位单元 0x0C0D存储在低位。
- 
更改地址的增长方向: 地址增长方向: ...←0x0A←0x0B←0x0C←0x0D←...最低有效位(LSB)是 0x0D存储在最低的内存地址处。后面字节依次存在后面的地址处。地址增长方向: ...←0x0A0B←0x0C0D←...最低的16位单元 0x0C0D存储在低位。
API 列表
接口
| 接口名 | 功能 | 
|---|---|
| BigEndianOrder<T> | 大端序字节序列转换接口 | 
| LittleEndianOrder<T> | 小端序字节序列转换接口 | 
| SwapEndianOrder<T> | 反转字节顺序接口 |