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 種語言。