條形碼
收銀員把一盒牛奶從掃描窗上掠過,不到一瞬,收銀機就嘀了一聲。紅色光束掃過30條和29空,光電二極體看到59次亮度跳變。解碼器把它們拆成13位數字,並校驗了最後一位。如果盒子被壓皺,一道裂縫橫穿某一條,跳變就變成61次,收銀機便不作聲。條碼的設計原則是:寧可不讀,也不讀錯。
條形碼用深淺條紋的寬度來記錄數字。寬度都是模組的整數倍,模組就是最窄的條紋。在EAN-13中,每位數字佔7個模組:兩條兩空。第一位數字沒有屬於自己的條,它藏在左半部分用哪幾種字元集書寫之中。第十三位是校驗碼:由其餘十二位算出。
| 說明 | 由平行的條和空組成的、可供機器讀取的光學代碼 |
| 碼制 | 商品上的EAN-13和UPC-A,紙箱上的ITF-14,物流中的Code 128 |
| 模組 | X = 0.330 mm(100 %時);允許80–200 %,即0.264至0.660 mm |
| 電容 | 12位資訊數字加一位校驗碼:10¹²個號碼 |
| 防護 | 權重為1和3的校驗碼;能發現任何單個錯誤 |
| 用什麼讀 | 650 nm紅色雷射加光電二極體,或帶補光的攝像頭 |
詞源
線條來自德語,書來自拉丁語
條碼誕生於美國,因外形而得名:bar code,「條狀的碼」。其他語言要麼借用了英語單詞,要麼用自己的詞根翻譯了它。俄語的「штрих-код」由德語和拉丁語的藉詞拼成;標準裡寫作「штриховой код」。
01 · 結構
95個模組裡的十三位數字
碼按模組從左到右讀:1為深色,0為淺色。兩側是保護符101,中間是01010。其間左邊六位、右邊六位,每位7個模組。每位數字由兩條兩空組成,寬度從一個模組到四個模組不等。
一位數字可以用三種字元集書寫。L集以淺色模組開頭,深色模組數為奇數。G集是R集的映象,深色模組數為偶數。R集是L集的反相,只出現在右半部分。掃描器根據左半部分L和G的交替認出第一位數字,同時也得知方向:碼倒過來掃也可以。
數字如何變成條紋
選擇一位數字。下面是它在三種字元集中各佔7個模組的圖案,以及該數字居首位時字元集的交替方式。
把碼弄壞,看收銀機何時投降
同一張標籤上做三個實驗。「編碼」:改動數字,看哪些條紋重新排列。「掃描器」:移動光束、縮小印刷、讓油墨洇開、劃傷。「收銀員出錯」:輸入有誤的號碼,看校驗碼能否發現。
02 · 碼的演進
從沙地上的圓到包裝上的方塊
每一種新碼都回應了舊碼的一個問題。圓能從任何方向讀,但不好印。車廂上的彩色條紋會褪色。數字碼不會表示字母。線性碼裝不下超過二十幾個字元,於是碼長進了第二個維度。
03 · 壓縮與容量
只有數字,五種長度
碼通過選擇字母表來壓縮資料。Code 39對任何字元都花16個模組,因為它也能表示字母。Code 128的B集把一個字元放進11個模組,C集則一次放兩位數字。ITF把一對數字中的第二位藏在第一位的空裡。EAN-13最緊湊:它事先就知道數字恰好是13位。
04 · 編碼的內容
是號碼,不是描述
碼中沒有名稱,沒有價格,也沒有保質期,只有GTIN號碼,收銀機憑它在自己的資料庫裡找到商品。前三位是國家GS1組織的字首,該組織發放了公司號碼。它並不表示生產國:中國的工廠可以在德國領取號碼,阿根廷的公司也可以在美國領取。接著是公司號碼和商品號碼,二者的分界並不固定。最後一位是校驗碼。
05 · 印刷規則
06 · 相鄰的碼
07 · 歷史部分
諾曼·伍德蘭(Norman Woodland)自己說,他是在邁阿密的海灘上想出這個碼的。他用手指在沙上畫出莫爾斯電碼的點和劃,又把它們向下拉長,就得到了窄條和寬條。為了讓標記能從任何方向讀取,他把條紋捲成了環。1952年,他與伯納德·西爾弗(Bernard Silver)獲得了美國專利2 612 994。
那時沒有什麼能讀這個圓:試驗需要一盞強力燈和電影放映機上的光電倍增管。這個碼等了二十年,等來了廉價的雷射器和晶片。1973年,美國的零售連鎖企業選定了矩形的UPC,它由IBM在伍德蘭的參與下研製。圓輸在了印刷上:在高速運轉的印刷機紙帶上,油墨把它們朝一個方向抹開了。
量的目錄
完整目錄 →國際單位制的七個基本單位
一滴酸改變果汁的顏色,鹽為火焰染色,水被輕敲一下就結冰。下面是 Simetrium 的全部頁面,按學科和字母順序排列。
開啟目錄 →





