字节(Byte)是计算机信息中用于描述存储容量和传输容量的一种计量单位,是计算机的基本存储单位。一个字节由8个相邻的二进制位组成,每个位由0或1组成。字节是计算机技术中最小的可操作存储单位。国际电工委员会(IEC) 和电气与电子工程师协会(IEEE) 将字节的单位符号指定为大写字母B。
简介
字节计算机存储和处理信息的基本单位。一个字节由 8 个二进制位组成,由00000000到11111111,组成字节的所有二进制位由计算机作为一个单元统一处理。字节可以表示单个字符,也可以表示0到255之间的数字。查看文件大小时,字节是操作系统列出的最小度量大小。
发展历史
字节一词是Werner Buchholz于1956年6月在IBM Stretch计算机的早期设计阶段发明的,Werner Buchholz需要用一个术语来描述机器处理的信息块,于是提出了“字节”这一术语。在考虑字节的构成时,最初基于计算效率的考虑,考虑了从1到12位的任意位数的排列。
早期人们多使用5位二进制数作为基本单位,但它只能表示32种不同的含义,无法囊括所有大写字母和小写字母。紧接着,一些计算机用6位二进制数表示字符,它最多可以表示64个字符,这足以表示所有大写字母、小写字母和数字,但对于其他符号和空格来说还不够。ASCII 定义了 7 位字符集,这在很长一段时间内对于许多用途来说已经足够了,并且也成为了大多数较新的字符集(ISO 646、ISO 8859、Unicode、ISO 10646 等)的基础。
二进制计算机的硬件特质鼓励人们将标准设置为较为方便的2的幂,8位比7位略大,不会造成太大的浪费,也满足了计算机设计人员定义其他字符的需求。随着8位处理器Intel 8086的的诞生,8 位字节成为标准。国际标准IEC 80000-13定义了这一常见含义,主要商业计算架构的普及也推动公众对于 8 位字节的普遍接受。
单位换算
应用领域
数据存储
字节在数据存储中起重要作用,在计算机上存储信息时,以字节为单位进行存储。文档、图像、程序都存储为字节数。存储设备(例如硬盘、SSD、USB 驱动器)的容量通常以字节为单位。在计算机内存中,每个字节都有一个唯一的地址,每个字节可以存储一个字符。
数据处理
在计算机中,字节是数据处理的基本单位。计算机的CPU按照字节来读取和写入数据,执行计算和处理指令。除了字节,CPU还可以对更大的数据单元进行操作,例如字、双字等,这些数据单元通常由多个字节组成,可以表示更大范围的数据。CPU通过对这些数据单元的操作,实现对更复杂的数据结构和算法的支持。
网络通信
在网络传输中,计算机和网络设备通常以字节为单位来处理和传输数据。网络协议,如TCP/IP,定义了如何将数据分割成字节流,并通过网络传输到目的地。在传输过程中,字节也可以被用来检查数据完整性。例如,校验和算法会计算数据包中字节的和,并在接收端进行验证,以确保数据在传输过程中没有被篡改或损坏。
相关概念
位
位,简写为“b” ,读作“比特”,表示二进制中的1位。计算机中的数据都是以0和1
来表示的。一个二进制位只能有一种状态,即只能存放二进制数“0”或者“1”。 每8个位组成一个字节,是最小一级的信息单位
字
字是指计算机的CPU在同一时间内处理的一组二进制数,一个字通常分为若干个字节。这组二进制数的位数是“字 长”, 字长直接反映了计算机的计算精度,字长越长,计算机一次性处理的数字位数越多,处理数据的速度就越快。
字符
字符是文字和符号的抽象单位,是用户可读和可识别的最小元素。字符可以是一个字母、数字、标点符号、空格或任何其他书写系统中的符号。在计算机中,字符通过字符编码转换为字节序列以便存储和处理。
字节序
字节序(Endianness),也称为端序或字节顺序,是指多字节数据在计算机内存中存储或网络传输时各字节的顺序。计算机将信息存储在各种大小的二进制位组中,每个存储单元都分配了一个地址编号,计算机使用该编号访问数据。一个字通常包含多个字节,需要存储在多个地址单元中。字节序属于数据解释的方式,只与处理器架构有关。字节序主要有两种类型:大端字节序(Big-endian)和小端字节序(Little-endian)。
大端字节序
在这种字节序中,高位字节存储在内存的低地址处,而低位字节存储在内存的高地址处。大端字节序接近于数字从左到右的书写方式。字节在网络中传输的顺序与具体的CPU类型、操作系统等因素无关,TCP/IP协议规定在网络传输中使用大端字节序,因此大端字节序是网络传输中主要使用的顺序。使用大端字节序的处理器包含Motorola 6800、Motorola 68000、PowerPC 970、System/370等。
小端字节序
在这种字节序中,低位字节存储在内存的低地址处,而高位字节存储在内存的高地址处。小端字节序是多数处理器架构及其相关内存主要使用的顺序。使用小端字节序的处理器包含x86、MOS Technology 6502、Z80、VAX、PDP-11、RISC-V等。
字节与编码
计算机中储存的信息都是用二进制数表示的,字符编码是一种将字符映射到字节序列的规则,即按照何种规则将字符存储在计算机中,以便在计算机系统中存储、处理和传输文本数据。字符编码与字节的关系非常紧密,因为字节是计算机中数据存储和处理的基本单位。
常用的字符编码方式有ASCII编码、Unicode编码、GB2312编码等。
ASCII编码
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语用于电子通信,由美国国家标准协会(ASA)在1963年制定,后来由国际标准化组织(ISO)采纳,并在世界范围内广泛使用。
ASCII码使用单个字节(8位)来表示每个字符,但实际上只使用了低7位,因此总共可以表示128个不同的字符。它包括大写和小写字母、数字、标点符号、控制字符和一些特殊符号。
Unicode编码
Unicode是一种字符集编码标准,旨在支持全球所有语言的字符。它为每种语言中的每个字符分配了一个唯一的编码,从而使得不同语言之间的文本处理和交换变得可能。Unicode是目前最广泛使用的字符编码标准,被现代操作系统、程序语言、网络协议和数据库系统广泛支持。
Unicode支持超过140种语言的文字,包括几乎所有现代语言以及古文字和符号。它为每个字符提供了一个唯一的码点,即每个字符拥有一个唯一编号,并提供了多种不同的编码方式,如UTF-8、UTF-16和UTF-32,这些编码方式用于将Unicode码点转换为字节序列以便于存储和传输。Unicode与ASCII兼容,其前128个字符与ASCII字符集相同。
UTF-8:一种可变长度的编码方式,使用1到4个字节来表示一个字符。
UTF-16:使用2个或4个字节来表示一个字符。
UTF-32:使用固定4个字节来表示一个字符,可以表示Unicode中的所有字符。
GB2312编码
GB2312是中华人民共和国国家标准汉字信息交换用编码,全称《信息交换用汉字编码字符集—基本集》,由国家标准总局发布,1981年5月1日实施。它是中国大陆地区较早的汉字编码标准之一,对汉字的编码和传输起到了重要作用。
GB2312使用两个字节来表示一个汉字,每个字节的高位都是1,这样就可以与ASCII码区分开来。因为ASCII码的最高位是0。GB2312包含6763个常用汉字和682个非汉字图形符号。这些字符按照使用的频率分为两级,第一级是3755个常用汉字,第二级是3008个非常用汉字。GB2312的字符排列是按照区位码进行的,每个汉字由一个区号和一个位号组成,区号范围是01到94,位号范围是01到94。
字节与存储
在计算机系统中,文件是信息存储的基本单位。文件类型,也被称为文件格式,是计算机对数据的编码方式,不同格式的文件使用不同的编码方式存储数据。常见的文件类型有文本文件、二进制文件等不同格式,它们采用不同的方式存储数据。
文本文件
文本文件是一种以文本形式存储数据的文件,其中的数据以人类可读的字符形式存在。文本文件通常包含字母、数字、标点符号和其他可打印字符,它们使用字符编码(如ASCII、UTF-8等)将每个字符映射到一个或多个字节。文本文件可以通过文本编辑器直接打开和编辑,因为它们的内容可以直接呈现为可理解的文本。
二进制文件
二进制文件是一种以二进制形式存储数据的文件,其中的数据以计算机可以直接理解和处理的二进制数字(0和1)表示。二进制文件包含了程序、图像、音频、视频等多种类型的数据,这些数据在存储时通常以字节为单位进行编码。与文本文件不同,二进制文件的内容不是以人类可读的文本形式存在,因此无法直接通过文本编辑器查看。