正文
条形码在我们生活中很常见,但是原理是怎样的呢?下面就简单说一下。
条码分类主要有:
Code39码(标准39码)、Codabar码(库德巴码)、Code25码(标准25码)、ITF25码(交叉25码)、Matrix25码(矩阵 25码)、UPC-A码、UPC-E码、EAN-13码(EAN-13国际商品条码)、EAN-8码(EAN-8国际商品条码)、中国邮政码(矩阵25码 的一种变体)、Code-B码、MSI码、、Code11码、Code93码、ISBN码、ISSN码、Code128码(Code128码,包括 EAN128码)、Code39EMS(EMS专用的39码)等一维条码和PDF417等二维条码。
以下主要讲EAN-13码。
条形码位数说明:
- 条形码一共有13位
- 前2位或者前3位称为前缀,表示国家、地区或者某种特定的商品类型
- 中国区条形码开头:690~699
- 图书类条形码开头:978~979
- 前缀后的4位或者5位称为厂商代码,表示产品制造商
- 厂商代码后5位称为商品代码,表示具体的商品项目
- 最后1位是校验码,根据前12位计算而出,可以用来防伪以及识别校验
条形码编码说明:
- 条形码一共有8个区域:左侧空白区->起始符->左侧数据符->中间分隔符->右侧数据符->校验符->终止符->右侧空白区
- 字符为0~9
- 除空白区外的区域和字符都采用二进制编码表示,1表示bar(黑条),0表示space(白条)
- 起始符、终止符编码为101,分隔符编码为01010
- 0~9每种字符有3种编码方式,AB为左侧数据奇偶编码,C为右侧数据偶编码
- 左侧数据的奇偶性由前置符决定。
- 前置码不需要用黑白条表示。黑白条只表示后12位。
- 0~9每个字符由2个bar和2个space组合而成,合计长度为7
- 起始符到终止符一共有95个长度(95=3+76+5+76+3)
- 起始符到终止符一共有59个bar和space(59=3+64+5+64+3)
生成条形码:
其实看到这里,你应该也明白了,其实就是给一排数字加密。EAN-13就是一个大家都认识的加密规则而已。
参考资料
http://blog.sina.com.cn/s/blog_6aba78b40102xckz.html
http://blog.csdn.net/xuelabizp/article/details/50596643
https://wenku.baidu.com/view/b8e0e4f4f121dd36a22d820a.html
http://barcode.cnaidc.com/html/BCGean13.php
http://blog.csdn.net/zxc024000/article/details/51135332