杂谈 | 关于二维码

作为新媒体运营者+软件开发者,每天都沉溺在“扫码关注”+“扫码下载”的狂潮之中。二维码的出现,在一定程度上给移动端应用的快速发展提供了便利;同时,智能手机和平板电脑的普及应用也反向催生了二维码应用,大家竞相投入大量资源进行技术研发。总之这是一个良性循环吧~

这里写一篇博文,把自己这些时间了解的关于二维码的资料总结一下,也算不辜负自己菜鸟新媒体工作者+辣鸡程序媛的身份(大雾= =)

(一)二维码是什么

1.1二维码怎么就“二维”了

  1. 二维码是一种比一维码更高级的条码格式。
  2. 一维码只能在一个方向(一般是水平方向)上表达信息。我们通常看见一维条形码具有一定的高度,像一个二位矩形,可是这个高度只是为了扫码器能够准确地定位,它在垂直方向则不表达任何信息;而二维码在水平和垂直方向都可以存储信息。
  3. 一维码只能由数字和字母组成,而二维码能存储汉字、数字和图片等信息。
  4. 一维条形码通常具有校验功能以防止错读,一旦条形码发生污损将被拒读。而二维条形码不仅能防止错误,而且能纠正错误,即使条形码部分损坏,也能将正确的信息还原出来。

1.2二维码信息表示

二维码的英文名叫作2-dimensional bar code,它是:

  • 用某种特定的几何图形按一定规律在二维方向上分布
  • 用黑白颜色模拟计算机内部的01比特流
  • 通过图象输入设备光电扫描设备自动识读,以实现信息自动处理

它具有条码技术的一些共性:

  • 每种码制有其特定的字符集
  • 每个字符占有一定的宽度
  • 具有一定的校验功能
  • -

1.3二维码的前世今生

这项技术起源于日本,原本是为了追踪汽车零部件设计。我们一般看到的二维码当然是长这个样子的:

南京大学软件学院微信公众号

不过有一种码它是长这个样子的:

DPM码

这个看上去高端大气上档次,低调奢华有内涵的东西叫做DPM码。这就是我们日常看见的黑白二维码的前身了。它是一种特殊的标识制作技术,又叫做“直接零部件标识。

这种技术可以实现直接在零部件表面上做标识,而不需要纸张、标签一类的标识载体。

DPM二维码技术现已在美国的汽车行业得到广泛应用,而我国的部分合资汽车厂商也相继开始了应用步伐。
由于DPM码是用来标识零部件的,工业要求制作DPM码的表面面积比较小,所以DPM码需要选择编码容量大的二维码。

DataMatrix二维码具有编码容量大、密度高、信息安全性高等特点,与其他二维条码相比,在相同尺寸与密度的情况下,可包含最多的数据信息。因此Datamatrix二维条码成为DPM码最常用的条码种类。


(二)二维码分类介绍

前面提到了编码容量大、密度高、信息安全性高的DataMatrix二维码,所以顺势介绍一下当前主流的几种二维码。

2.1组织形式分类

按照二维码组织形式的不同,可以简单地将二维码分成“堆叠式”和“棋盘式”两种。

堆叠式”:所谓“堆叠式”,在一定程度上继承了一维码的特性,它是把多行简短的一维码逐行堆叠起来,形成二维码。不过,由于要对每一行“一维码”所在行数进行判定,这种二维码也有自己的译码算法。

棋盘式”:“棋盘式”二维码又叫做“矩阵式”二维码,它通过构建一个二位平面矩阵,使用黑白像素点来模拟01比特流,即用黑色的像素点嗲表二进制的“1”,用白色的像素点代表二进制的“0”。像素点的排列组合确定了矩阵式二维条码所代表的意义。

2.2构成分类

2.2.1 PDF417

PDF417二维条码是一种堆叠式二维条码,目前应用最为广泛。每一个PDF417码是由3~90横列堆叠而成,而为了扫瞄方便,其四周皆有静空区,静空区分为水平静空区与垂直静空区,至少应为0.020寸,如图所示。

PDF417二维条码

PDF417条码可表示数字、字母或二进制数据,也可表示汉字。

PDF417可以存储的信息量非常庞大,不仅可以将人的姓名、单位、地址、电话等基本资料进行编码,还可将人体的指纹、视网膜扫瞄、及照片等更加详细的信息记录在条码之中。(这样不但可以实现证件资料的自动输入,而且可以防止证件的伪造,减少犯罪~~~)

PDF417是一个公开码,任何人皆可用其演算法而不必付费,因此是一个开放的条码系统。

首先来看一下条码结构:

PDF417条码

每个PDF417二维条码符号字符由4个条4个空构成,每个条或空包含1~6个模块,总模块数为17,所以被称为PDF417条码。每行数据符号字符数相同行与行左右直接衔接,最小行数为3,最大行数为90。PDF417条码的编码可分为3个部分:

  • 数据区码子编码
  • 错误纠正码子编码
  • 添加行指示符号字符和起始符,终止符。

    关于以上列出的三个部分,用下面的表格给一个较为直观的描述:

    表格结构

其中L表示左行指示符、R表示右行指示符。而数据区码子编码和错误纠正码子编码共享中间的空间,其中用d来表示数据区,用c来表示错误纠正区。

PDF417的纠错功能是通过将部分信息重复表示(冗余)来实现的。在PDF417码中,某一行除了包含本行的信息外,还有一些反映其它位置上的字符(错误纠正码)的信息。这样,即使当条码的某部分遭到损坏,也可以通过存在于其它位置的错误纠正码将其信息还原出来。

PDF417的纠错能力依错误纠正码字数的不同分为0~8共9级,见图4,级别越高,纠正码字数越多,纠正能力越强,条码也越大。当纠正等级为8时,即使条码污损50%也能被正确读出。下面提供可存放资料量与错误纠正等级对照表:

对照表

当然很显然的一点是,纠错的等级越高,二维码的大小也就越大。

大小直观表述

【例】

PDF417结构

以上乱七八糟说了一大堆……这里给一个详细一点的范例:如上图,黑色代表“条”,白色代表“空”,从左到右,每个条依次具有5、1、1、2个模块,每个空依次具有1、1、1、5个模块,总共有5+1+1+2+1+1+1+5=17个模块。

PDF417结构

上图是一个更为直观的例子。


写这篇文章一开始只是为了比较一下不同种类的二维码,然而越往深看越发现结构和实现原理才是真正值得好好探究的部分~下一步会更新PDF417的编解码原理,同时找了一套教程叫《基于Android手机OS二维条码PDF417的原理解析与源码实现》,先学习看看~


2.2.2 QR Code 等更新……

2.2.3 Datamatrix 等更新……

(世间怎么会有如此厚颜无耻之人= =)


(文末彩蛋)世界上最大的二维码

世界最大二维码是加拿大的一对农民夫妇Kraay与Rachel在一块面积达10英亩的玉米地上种出来的,二维码的面积达到了2.8万平方米。而这块玉米地也被正式收录进了吉尼斯世界纪录,成为世界上最大的二维码。

这里写图片描述

Kraay与Rachel在翻看杂志的时候看到上面有不少的二维码,突发奇想的他们计划将自家农场的玉米地改造成二维码的形状,她在一位设计师和技术工人的帮助下完成了这幅创造纪录的巨幅“麦田”作品。二维码中包含的信息就是自家农场的网站,有人在乘飞机路过时候拿手机对着这块地一扫,就可以自动跳转到这户农家的网站。


结束语

在移动互联业务模式下,人们的经营活动范围更加宽泛,也因此更需要适时的进行信息的交互和分享。

随着移动网络、WIFI和移动设备的普及,二维码应用不再受到时空和硬件设备的局限。产品基本属性、图片、声音、文字、指纹等,都可以数字化的信息实现编码捆绑

二维码技术适用于新媒体宣传、安全认证、质量追溯、物流仓储、材料识别、网络营销等等等等等等等等等等等等。随着国内物联网产业的蓬勃发展,相信更多的二维码技术应用解决方案也会被开发出来,届时,二维码将成为移动互联网的入口,大家出门的问候语也要变成:

(。・∀・)ノ゙嗨,今天你扫码了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值