字节 编辑

字节字节

字节(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 位字节的普遍接受。

单位换算

编辑

名称

简写

换算

比特(bit)

bit/b

1B=8bit

半字节(Nibble)

N

1B=0.5N

千字节(KiloByte)

KB

1KB=210 B =1024B

兆字节(Mega Byte)

MB

1MB=210 KB =220 B

吉字节(GigaByte)

GB

1GB=210 MB =230 B

太字节(TeraByte)

TB

1TB=210 GB =1240 B

拍字节(PetaByte)

PB

1PB=210 TB =250 B

艾字节(EXAByte)

EB

1EB=210 PB =260 B

泽字节(Zetta Byte)

ZB

1ZB=210 EB =270 B

尧字节(Yotta Byte)

YB

1YB=210 ZB =280 B

应用领域

编辑

数据存储

字节在数据存储中起重要作用,在计算机上存储信息时,以字节为单位进行存储。文档、图像、程序都存储为字节数。存储设备(例如硬盘、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编码ASCII编码

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编码GB2312编码

GB2312使用两个字节来表示一个汉字,每个字节的高位都是1,这样就可以与ASCII码区分开来。因为ASCII码的最高位是0。GB2312包含6763个常用汉字和682个非汉字图形符号。这些字符按照使用的频率分为两级,第一级是3755个常用汉字,第二级是3008个非常用汉字。GB2312的字符排列是按照区位码进行的,每个汉字由一个区号和一个位号组成,区号范围是01到94,位号范围是01到94。

字节与存储

编辑
在计算机系统中,文件是信息存储的基本单位。文件类型,也被称为文件格式,是计算机对数据的编码方式,不同格式的文件使用不同的编码方式存储数据。常见的文件类型有文本文件、二进制文件等不同格式,它们采用不同的方式存储数据。

文本文件

文本文件是一种以文本形式存储数据的文件,其中的数据以人类可读的字符形式存在。文本文件通常包含字母、数字、标点符号和其他可打印字符,它们使用字符编码(如ASCII、UTF-8等)将每个字符映射到一个或多个字节。文本文件可以通过文本编辑器直接打开和编辑,因为它们的内容可以直接呈现为可理解的文本。

二进制文件

二进制文件是一种以二进制形式存储数据的文件,其中的数据以计算机可以直接理解和处理的二进制数字(0和1)表示。二进制文件包含了程序、图像、音频、视频等多种类型的数据,这些数据在存储时通常以字节为单位进行编码。与文本文件不同,二进制文件的内容不是以人类可读的文本形式存在,因此无法直接通过文本编辑器查看。

文本文件与二进制文件对比

特点

文本文件

二进制文件

数据表示

使用字符编码(如ASCII, UTF-8)表示文本数据。

使用二进制编码表示各种类型的数据,包括文本、图像、音频等。

可读性

人类可读,可以直接通过文本编辑器查看和编辑。

不可直接读,需要特定应用程序或工具来解释和显示数据。

编码方式

每个字符通常映射到一个或多个字节。

数据以字节为单位存储,每个字节可以是数据的一部分或完整的数值。

紧凑性

相对于二进制文件,可能占用更多的存储空间,因为文本编码可能包含冗余信息。

通常更紧凑,因为它们不包含冗余的编码信息,并且可以使用更高效的数据表示方法。

错误容忍

对于小的数据损坏,文本文件可能仍然部分可读。

对于小的数据损坏,二进制文件可能完全无法读取。

兼容性

取决于字符编码,跨平台和应用程序兼容性较好。

可能需要特定的解析器或程序来正确读取,兼容性取决于文件格式和数据结构。

处理速度

解析和生成文本数据可能较慢,因为需要处理字符编码。

通常处理速度更快,因为可以直接操作二进制数据。

常见格式

.txt, .csv, .xml, .html

.exe, .jpg, .mp3, .mp4, .bin

下一篇 字符串

上一篇 SHA-2