数据宽度、字节序和 ASCII 码
数据的宽度是指数据在存储器中存储的尺寸。在计算机中,所有数据的基本存储单位都是字节(byte),每个字节占 8 个位(位是计算机存储的最小单位,而不是基本单位,因为在存储数据时几乎没有按位进行存储的)。其他的存储单位还有字(word)、双字(dword)和八字节(qword)。
![](https://img2024.cnblogs.com/blog/3048024/202405/3048024-20240526190456455-412737755.png)
字节序也称为字节顺序。通常情况下,数值在内存中存储的方式有两种,一种是大尾方式(大端存储),另一种是小尾方式(小端存储)。比如 0x01020304,如果是大端存储,其存储方式为 01 02 03 04,而用小尾方式进行存储则是 04 03 02 01。大小端总结如下:
大端存储:内存高位地址存放数据低位字节数据,内存低位地址存放数据高位字节数据;
小端存储:内存高位地址存放数据高位字节数据,内存低位地址存放数据低位字节数据。
通常情况下,Windows 操作系统兼容的 CPU 为小端存储,而 Unix 操作系统兼容的 CPU 多为大端存储。在网络中传输的数据的字节顺序使用的是大端存储。
为了存储字符,计算机必须支持特定的字符集,字符集的作用是将字符映射为整数。早期字符集仅仅使用 8 个二进制数据位进行存储,即 ASCII 码。后来,由于全世界语言的种类繁多,又产生了新的字符集Unicode 字符编码。由于标准 ASCII 码仅使用 7 位,因此十进制表示范围是 0~127 共 128 个字符。常用的 ASCII 字符如下。
![](https://img2024.cnblogs.com/blog/3048024/202405/3048024-20240526190725967-1793231395.png)