01 · 定义
这个词是 IBM 工程师沃纳·布赫霍尔茨在 1956 年造的,他故意把 bite 写歪,免得跟 bit 混淆。字节里的八位要到 1964 年随 System/360 才定下来。
一个字节是八个比特,也就是 256 个可分辨的状态。它是当今任何处理器里最小的可寻址存储单元:单独一个比特读不出来,读的是整个单元。八不是物理选的,是方便选的:二的幂,够拉丁字母连同数字和符号,还能分成两个十六进制数字。一个字节装得下一个 ASCII 字符,却装不下 UTF-8 里的一个西里尔字母——那里要两个,一个表情符号要四个。
在 UTF-8 里,一个拉丁字母占一个字节,一个西里尔字母占两个,一个文字符号占三个,一个表情符号占四个。所以字符不等于字节:一串文字按字符算的长度和按字节算的长度是两个数,把它们弄混是文本乱码最常见的原因。
02 · 换算
输入一个容量——这一页替你换算
字节从比特那里继承了双重的词头体系。十进制的千字节是一千字节,二进制的千位字节是 1024。硬盘厂商按十进制算,操作系统按二进制算——每块新盘上「少掉」的吉字节就是从这里来的。
硬盘几十年来按 512 字节的扇区工作,如今按 4096。文件系统一次读不少于一个扇区,所以哪怕一个字节的文件也要占满一个扇区。
| 单位 | 名称 | 数值 | 常见于何处 |
|---|---|---|---|
| B | 字节,八比特 | 1000 | 基本写法 |
| bit | 比特 | 8000 | 通道、速度 |
| kB | 千字节,1000 字节 | 1 | 十进制词头 |
| MB | 兆字节,10⁶ 字节 | 0.001 | 文件、照片 |
| GB | 吉字节,10⁹ 字节 | 1·10⁻⁶ | 硬盘、介质 |
| TB | 太字节,10¹² 字节 | 1·10⁻⁹ | 存储 |
| KiB | 千比字节,1024 字节 | 0.9766 | 内存、文件系统 |
| MiB | 兆比字节,1024 千比字节 | 9.537·10⁻⁴ | 运行内存 |
| GiB | 吉比字节,1024 兆比字节 | 9.313·10⁻⁷ | 操作系统 |
| TiB | 太位字节,1024 吉位字节 | 9.095·10⁻¹⁰ | 磁盘阵列 |
| B6 | 六位的字节 | 1333 | System/360 之前 |
| B | 字节 | 1000 | 今天的写法 |
十进制词头取一千,二进制则取 1024 并写作带「i」:KiB、MiB、GiB。一块一太字节的硬盘含 10¹² 个字节,系统却把它显示成 931 GiB:两边算得都对,只是词头不同。
03 · 数量级
从字符到数据中心一张照片 — 4 MB
04 · 测量仪器
用什么来数字节
包装上的容量按十进制吉字节算,文件系统按二进制算。两边谁也没骗人,可买家看到的数比标签上印的要小。
这里二进制词头是老实的:一条 16 GB 的内存条正好含 16 吉位字节,因为寻址永远按二的幂走。
供应商卖的是兆比特,下载器显示的是兆字节。除以八:100 Mbit/s 大约给出 12 MB/s。
它把文件一个字节一个字节地摆出来:左边是编码,右边是字符。没有文档的格式就是这样读的,头部在哪里结束也是这样看出来的。
05 · 书写规则
B 大写,千字节里的 k 小写
十进制的千字节写作 kB,k 是小写,跟兆以下所有国际单位制词头一样。大写 B 是字节,小写 b 是比特,两者相差八倍。二进制词头写作带「i」并且首字母大写:KiB、MiB、GiB。
俄语里字节一词在数词之后不变复数:写作 512 byte,从不写复数形式。符号 B 也不带格的词尾——它是符号,不是缩写。
06 · 相邻单位
字节立在比特之上,成组而居:四位的半字节对应一个十六进制数字,两个字节对应一个短整数,四个对应一个地址,八个对应一个长整数。机器字是整数个字节,它们的个数会泄露架构。
四个字节给出四十亿个状态——这够 IPv4 的全部地址用了,也正因为如此才用完。
07 · 历史部分
那些不是八位的字节
在这个词诞生的机器上,字节的长度由指令给定:从一位到八位。八只是个上限。
够用来放拉丁大写字母、数字和符号——这些系统里根本没有小写字母。一个 1 比特的字被分成六个这样的字符。
最初的编码是七位的:128 个字符。第八位原本用于奇偶校验,后来才成为编码的一部分,给国别字母表腾出了位置。
23 位字长的机器有时把它分成四段,每段九位。System/360 标准逐渐挤掉了所有变体。
八位不是物理选的,而是一家公司的商业决定
1964 年以前,字节什么都可以是:CDC 用六位,电传打字机用七位,23 位字长的机器上用九位,IBM Stretch 上则长度任意。为 System/360 选定大小时,IBM 停在了八——二的幂,正好装进两个十六进制数字,既够拉丁字母和它的控制码,也留下国别字符的余地。这条产品线的成功让八成了事实上的标准,而 IEC 直到 2008 年才把它定下来,晚了四十四年。形式上,标准里对「正好八位」另有一个词——八位组——网络规范写的正是这个,以排除一切歧义。
目录 · 计量单位
每个量都有一份档案
国际单位制的七个基本单位、二十二个有专名的导出单位,以及在它们旁边的制外单位。每一个都有自己的一页:定义、量纲、换算、仪器、书写规则。共 23 种语言。