QR Code 简介

条形码的应用非常广泛,例如商品的包装上的一维条形码、通过扫描二维码下载手机软件或者进行在线支付等。在这个人人扫码的环境中,熟练掌握条形码的生成和解析应该是程序猿的必备技能。


什么是条形码

下面是维基百科对条形码的定义:

条形码或称条码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。

最初条形码通过改变宽度和平行线间距表示数据,称为线性或一维(1D)码,后来被开发的二维(2D)码,在两个维度上使用矩形、点、六边形和其它几何图案,虽然它们本身并不使用条形状,但也称为条形码。条形码最初是由特殊的扫描器来识别,现在可以通过像智能手机的应用软件来读取信息。

条形码的识别原理

将条形码转换成有意义的信息需要扫描和译码两个过程。条形码扫描器将条形码识别为电信号0和1,白条、黑条的宽度不同,相应的电信号持续时间长短也不同。通过0,1的数目来判别条和空的数目。通过测量0,1信号持续的时间来判别条和空的宽度。此时所得到的数据仍然是杂乱无章的,要知道条形码所包含的信息,则需根据对应的编码规则(例如:EAN-8码),将条形符号换成相应的数字、字符信息。最后,由计算机系统进行数据处理与管理,物品的详细信息便被识别了。

条形码的分类

线型条形码

第一代,一维的条码是由线条和空间的宽度创建特定的模式

线型条形码

矩阵条形码

矩阵码,也被称为二维条形码或二维码(2-dimensional barcode),是用特定的几何图形按照一定规则在平面(二维方向)分布的黑白相间的图形记录数据符号信息的图形。

二维码

目前流行的二维码国际标准:

  • PDF417 : 不支持中文
  • Data Matrix : 专利未公开,需支付专利费用
  • QR Code : 专利公开,支持中文

与其他二维码标准相比,QR Code 具有识读速度快、数据密度大、占用空间小的优势。
QR Code 是由日本 Denso 公司于1994年研制的一种矩阵二维码符号码,全称是 Quick Response Code。

纠错等级:

  • L 级 : 约可纠错7%的数据码字
  • M 级 : 约可纠错15%的数据码字
  • Q 级 : 约可纠错25%的数据码字
  • H 级 : 约可纠错30%的数据码字

最后

本文简单介绍了条形码的相关知识,手机 App 应用最多的是 QR Code,所以接下来就是学习该二维码的生成和解析了。