条形码

条形码或称条码（barcode），是将宽度不等的多个黑条和空白，按照一定的编码规则排列，用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条（简称条）和白条（简称空）排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等信息，因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。

## 条码的识别原理

要将按照一定规则编译出来的条形码转换成有意义的信息，需要经历扫描和译码两个过程。物体的颜色是由其反射光的类型决定的，白色物体能反射各种波长的可见光，黑色物体则吸收各种波长的可见光，所以当条形码扫描器光源发出的光在条形码上反射后，反射光照射到条码扫描器内部的光电转换器上，光电转换器根据强弱不同的反射光信号，转换成相应的电信号。根据原理的差异，扫描器可以分为光笔、CCD、激光三种。电信号输出到条码扫描器的放大电路增强信号之后，再送到整形电路将模拟信号转换成数字信号。白条、黑条的宽度不同，相应的电信号持续时间长短也不同。然后译码器通过测量脉冲数字电信号0、1的数目来判别条和空的数目，通过测量0、1信号持续的时间来判别条和空的宽度。此时所得到的数据仍然是杂乱无章的，要知道条形码所包含的信息，则需根据对应的编码规则（例如：EAN-8码），将条形符号换成相应的数字、字符信息。最后，由计算机系统进行数据处理与管理，物品的详细信息便被识别了。

### 条形码的扫描

<image>

<image>

条形码的扫描需要扫描器，扫描器利用自身光源照射条形码，再利用光电转换器接受反射的光线，将反射光线的明暗转换成数字信号。不论是采取何种规则印制的条形码，都由静区、起始字符、数据字符与终止字符组成。有些条码在数据字符与终止字符之间还有校验字符。

- 静区：顾名思义，不携带任何信息的区域，起提示作用。
- 起始字符：第一位字符，具有特殊结构，当扫描器读取到该字符时，便开始正式读取代码了。
- 数据字符：条形码的主要内容。
- 校验字符：检验读取到的数据是否正确。不同编码规则可能会有不同的校验规则。
- 终止字符：最后一位字符，一样具有特殊结构，用于告知代码扫描完毕，同时还起到只是进行校验计算的作用。

为了方便双向扫描，起止字符具有不对称结构。因此扫描器扫描时可以自动对条码信息重新排列。

条码扫描器有光笔、CCD、激光三种：

- 光笔：最原始的扫描方式，需要手动移动光笔，并且光笔笔尖部分需要与条形码直接接触。
- CCD：以CCD作为光电转换器，LED作为发光光源的扫描器。在一定范围内，可以实现自动扫描。并且可以阅读各种材料、不平表面上的条码，成本也较为低廉。但是与激光式相比，扫描距离较短。
- 激光：以激光作为发光源的扫描器。又可分为线型、全角度等几种。
- 线型：多用于手持式扫描器，范围远，准确性高。
- 全角度：多为卧式，自动化程度高，在各种方向上都可以自动读取条码。

### 条码的优越性

<image>

- 可靠性强。条形码的读取准确率远远超过人工记录，平均每15000个字符才会出现一个错误。
- 效率高。条形码的读取速度很快，相当于每秒40个字符。
- 成本低。与其它自动化识别技术相比较，条形码技术仅仅需要一小张贴纸和相对构造简单的光学扫描仪，成本相当低廉。
- 易于制作。条形码的编写很简单，制作也仅仅需要印刷，被称作为“可印刷的计算机语言”。
- 易于操作。条形码识别设备的构造简单，使用方便。
- 灵活实用。条形码符号可以手工键盘输入，也可以和有关设备组成识别系统实现自动化识别，还可和其他控制设备联系起来实现整个系统的自动化管理。

## 条形码的发展历史

- 1949年美国人诺曼·伍德兰（Norman Joseph Woodland）和伯纳德·西尔弗（Bernard Silver）申请了用于食品自动识别领域的环形条形码（公牛眼）。
- 1963年在1963年10月号《控制工程》杂志上刊登了描述各种条形码技术的文章。
- 1967年美国辛辛那提的一家KROGER超市首先使用条形码扫描器。
- 1969年比利时邮政业采用用荧光条形码表示信函投递点的邮政编码。
- 1970年美国成立UCC；美国邮政局采用长短形条形码表示信函的邮政编码。
- 1971年欧洲的一些图书馆采用Plessey码。
- 1972年美国人蒙那奇·马金（Monarch Marking）研制出库德巴码，同年交叉25码被开发出来。
- 1973年美国统一编码协会（简称UCC）在IBM公司的条码系统基础上建立了通用产品代码（UPC）系统，并且实现了该码制标准化。
- 1974年美国Intermec公司的戴维·阿利尔（Davide·Allair）博士研制出39码。
- 1977年欧洲共同体在UPC-A基础上制定出欧洲物品编码EAN-13码和EAN-8码，签署了欧洲商品编码（EAN）协议备忘录，并且成立了欧洲物品编码协会。
- 1978年日本在EAN的基础上开发出日本商品条码（JAN）。
- 1980年美国国防部采纳39码作为军事编码。
- 1981年欧洲物品编码协会改组为国际物品编码协会（IAN）；实现自动识别的条形码译码技术；128码被推荐使用。
- 1982年手持式激光条形码扫描器实用化；美国军用标准military标准1189被采纳；93码开始使用。
- 1983年美国制定了ANSI标准MH10.8M，包括交叉25码、39码和库德巴码。
- 1987年美国人David Allairs博士提出49码。
- 1988年可见激光二极管研制成功；美国的Ted Willians提出适合激光系统识读的16K码。
- 2005年EAN更名为GS1。

## 条码类型

### 线性条码

第一代，“一维”的条码是由线条和空间的各种宽度，创建特定的模式。

例如｜符号｜Continuous or discrete｜条纹宽度｜用途

<image>

｜澳大利亚邮政条码｜Discrete｜4 bar heights｜一个澳大利亚邮政条码作为一个商业上的答复付费信封。

Codabar｜Discrete｜Two｜在图书馆和血库和airbills使用的旧格式（过时）

Code 25 – Non-interleaved 2 of 5｜Continuous｜Two｜产业

<image>

｜Code 25 – Interleaved 2 of 5｜Continuous｜Two｜批发，图书馆国际标准ISO / IEC 16390

<image>

｜Code11｜Discrete｜Two｜电话（过时）

<image>

｜Farmacode or Code 32｜Discrete｜Two｜意大利 Pharmacode 成为-使用代码39 （无国际标准）

<image>

｜Code39｜Discrete｜Two｜其他 - 国际标准ISO / IEC 16388

<image>

｜Code49｜Continuous｜Many｜各个

<image>

｜Code93｜Continuous｜Many｜各个

<image>

｜Code128｜Continuous｜Many｜其他 - 国际标准ISO / IEC 15417

CPC Binary｜Discrete｜Two

<image>

｜DX film edge barcode｜Neither｜Tall/short｜Color print film

<image>

｜EAN-2｜Continuous｜Many｜插件代码（杂志）， GS1 -approved -不是自己的符号-要只用一个EAN / UPC根据ISO / IEC 15420使用

<image>

｜EAN-5｜Continuous｜Many｜插件代码（书）， GS1 -approved -不是自己的符号-要只用一个EAN / UPC根据ISO / IEC 15420使用

<image>

｜EAN-8, 欧洲商品条码｜Continuous｜Many｜全球零售， GS1 -approved -国际标准ISO / IEC 15420

<image>

｜EAN-13, 欧洲商品条码｜Continuous｜Many｜全球零售， GS1 -approved -国际标准ISO / IEC 15420

Facing Identification Mark｜Discrete｜Two｜美国邮政业务回复邮件

<image>

｜GS1-128（前身为UCC/ EAN-128），误称为EAN·UCC的128和128构仅仅是128码（ISO/ IEC15417）的应用。｜Continuous｜Many｜各种，GS1批准 - 只是应用程序代码128（ISO/ IEC15417）使用和mh10.8.2 AI的数据结构它不是一个独立的符号

<image>

｜GS1的的 DataBar 的前身缩减码（RSS）｜Continuous｜Many｜各种，GS1批准

<image>

｜Intelligent Mail barcode｜Discrete｜4 bar heights｜美国邮政服务，取代了 POSTNET 和 PLANET 符号（原名 OneCode）

<image>

｜ITF-14｜Continuous｜Two｜非零售包装的水平，GS1批准-仅仅是一个交错2/5码（ISO/ IEC16390）和一些额外的规格，根据GS1通用规范

<image>

｜JAN｜Continuous｜Many｜用于日本，类似和兼容EAN-13（ISO/ IEC15420）

<image>

｜日本邮政条码 barcode｜Discrete｜4 bar heights｜日本邮政

<image>

｜KarTrak ACI｜Discrete｜Coloured bars｜用于在北美铁路车辆装备

<image>

｜MSI｜Continuous｜Two｜用于仓库货架和库存

<image>

｜Pharmacode｜Discrete｜Two｜药品包装（无国际标准）

PLANET｜Continuous｜Tall/short｜美国邮政服务（无国际标准）

<image>

｜Plessey｜Continuous｜Two｜产品目录，商店的货架，库存（无国际标准）

<image>

｜PostBar｜Discrete｜4 bar heights｜加拿大邮局

<image>

<image>

<image>

<image>

<image>

｜POSTNET｜Discrete｜Tall/short｜美国邮政服务（无国际标准）

<image>

｜RM4SCC / KIX｜Discrete｜4 bar heights｜皇家邮政/PostNL

<image>

｜RM Mailmark C｜Discrete｜4 bar heights｜皇家邮政

<image>

｜RM Mailmark L｜Discrete｜4 bar heights｜皇家邮政

<image>

｜Telepen｜Continuous｜Two｜图书馆（英国）

<image>

｜通用产品代码｜Continuous｜Many｜全球零售，-GS1批准的国际标准ISO/ IEC15420

### 矩阵（二维）条形码

矩阵码，也被称为二维条码或二维码，是一种以二维矩阵呈现数字信息的方式。它类似于线性（一维）条码，但可以表示更多数据。