二维码大家早就熟悉得不能再熟悉了,而且现在很多伙伴看到二维码都想拿出手里来扫一扫,说不定还真有惊喜呢。还有现在向商家付款都习惯性的扫二维码了,真是非常的方便。二维码已经深深地侵入了我们的生活,成了我们生活中,但是小伙伴们,你们知二维码是怎么生成的吗?不知道就好好看看下文吧!
1、二维码概念
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
2、二维码分类
二维码是一种比一维码更高级的条码格式。一维码只能在一个方向(一般是水平方向)上表达信息,而二维码在水平和垂直方向都可以存储信息。一维码只能由数字和字母组成,而二维码能存储汉字、数字和图片等信息,因此二维码的应用领域要广得多。
A、堆叠式/行排式
其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417、MicroPDF417 等
B、矩阵式二维码
在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、MaxiCode、QR Code、 Data Matrix、Han Xin Code、Grid Matrix 等。
QR Code 最流行。
3、优缺点
优点:
1. 高密度编码,信息容量大。 500多个汉字|1850字母|2710数字
2. 编码范围广。 图片,指纹等,只要能以编码的形式表示
3.容错能力强,具有纠错功能。
4.译码可靠性高。误码率不超过千万分之一
5.可引入加密措施。
6.成本低,易制作,持久耐用。
缺点:
1、成为手机病毒,钓鱼网站的传播渠道。
2、信息泄露。
4、实现
请上github上查看。
ZXing
https://github.com/zxing/
上海尚学堂java原创,转载请注明出处,后续java精彩文章奉上,请多关注.