二维码原理--开胃小知识

二维码是什么原理?不知道从什么时候开始,我们的生活突然之间就充满了二维码,看网页要扫二维码,加好友要扫二维码,现在连楼下卖草莓的大爷都支持扫码支付,那么,你有没有想过,这个长得很奇怪的二维码,到底是怎么来的呢?它的原理是什么?看完你就知道了

其实在介绍二维码原理之前你可能已经猜到了,二维码就是把信息翻译成黑白小方块,然后填到这个大方块里,这有点类似中学考试用的答题卡,就是把信息变成机器可扫描图案,一秒钟就能知道你得了多少分。当然,二维码的原理和答题卡还不太一样,这个稍后会讲到。

我们先来说一下二维码的哥哥----条形码。也就是超时收银员扫的那个黑白条,电脑在水平方向上识别粗细不均的黑白条,就能找出藏在其中的商品编号信息,相比于只在一个维度上携带信息的条形码,“二维码”在水平垂直两个维度上都携带了信息,也就做成了方块状的样子,条形码和二维码这一对好兄弟说白了,其实就是给数字、字母、符号等这些字符换了一身衣服,把他们打扮成了能被手机相机识别的黑白条或块。那么,最关键的问题来了,这些字符,到底是怎么变成这种二维码图案的呢?

这就要提到一个人类具有划时代意义的伟大发明“二进制”。我们平时使用的数字。字符、汉字等各种字符,虽然画风完全不同,但是机智的人类发明了一个方法,使他们都可以被统一转换成又0和1组成的二进制数字序列,这个转换的过程叫做编码,国际上有几套通用的编码规则,我们今天就用一个例子来感受一下,编码是怎么回事。比如AB这个由两个英文字母组成的字符,根据编码规则,每一个独立的英文字母都有唯一一个十进制数字与之对应,而像AB这样的字符串则要在对应数字的基础上再做运算,而运算的结果再转换成二进制,就变成“000111001101”这样的数字,哦对了,整个计算机和互联网文明都是建立在这种二进制编码上的,你现在看得视频,不管在你的电脑还是手机里,其实也只是一串0和1而以。

我们回到二维码的生成原理上,字符在变成只有0和1组成的数字序列后,在进行一系列优化算法(此处自行脑补一系列优化算法),就得到了最终的二进制编码。在最后的这串编码中,一个0就对应的是一个‘白色小方块‘,一个1就对应的一个‘黑色小方块’,我们把这些小方块分成8个一组填进大方块里,这就是一个完整的、可以被手机相机识别的二维码图案了。

如果你要问为什么所有二维码角上有3个大方块,其实这3个一模一样的方块是用来给收相机定位的,不信你就扫一扫,是不是不管正着扫、反着扫还是斜着扫结果都是一样的?

时间: 2024-12-23 13:22:32

二维码原理--开胃小知识的相关文章

二维码扫描的相关知识

1.二维码扫描 二维码,是一种采用黑白相间的平面几何图形通过相应的编码算法来记录文字.图片.网址等信息的条码图片.如下图 二维码的特点: 1.  高密度编码,信息容量大 可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍. 2.  编码范围广 该条码可以把图片.声音.文字.签字.指纹等可以数字化的信息进行编码,用条码表示出来:可以表示多种语言文字:可表示图像数据. 3.  容错能力强,具有纠错功能 这使得二维条码因穿孔.污损等引起局部损坏

QR二维码原理(一)

一.什么是QR码 QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化.QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示一下: 这个图如果被正确解码,应该看到我的名字和邮箱. 二.QR码的特点 说到QR码的特点,一是高速读取(QR就是取自"Quick Response"的首字母),对读取速度的体验源自于我手机上的一个软件,象上面贴出的码图,通过摄像头从拍摄到解码到显示内容也就三秒左右,对摄像的角度也没有什么要求: 二是高容量.高

Android二维码的生成算法原理简介

二维码的定义:二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的.在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等.1.堆叠式/行排式二维条码,如,Code 16K.Code 49.PDF417(如下图)等2.矩阵式二维码,最流行莫过于Q

微信小程序二维码识别

目前市场上二维码识别的软件或者网站越来越多,可是真正方便,无广告的却少之很少. 于是,自己突发奇想做了一个微信二维码识别的小程序. 包含功能: 1.识别二维码 ①普通二维码 ②条形码 ③只是复制解析出来的数据 2.生成二维码 ①只是从粘贴板生成二维码 软件截图: 体验二维码: 以下为主要代码 index.js // pages/main/index.js var QR = require("../../utils/qrcode.js"); Page({ data: { canvasHi

二维码登录

二维码登录原理及生成与解析 v一.前言 这几天在研究二维码的扫码登录.初来乍到,还有好多东西不懂.在网上看到有人写了一些通过QRCode或者Zxing实现二维码的生成和解码.一时兴起,决定自己亲手试一试.本人是通过QRCode实现的,下面具体的说一下. v二.二维码原理 基础知识参考:http://news.cnblogs.com/n/191671/ 很重要的一部分知识:二维码一共有 40 个尺寸.官方叫版本 Version.Version 1 是 21 x 21 的矩阵,Version 2 是

【Python应用】自己实现生成二维码

1. 二维码随处可见 在我们的生活中,二维码可以说是无处不在了:加好友?扫个码!付钱?扫个码!大街小巷,二维码随处可见,甚至小广告里也加上了二维码. 如今,二维码已经有了信息获取.网站跳转.手机电商以及手机支付等多种功能.大家平时见到最多的应该是黑白的二维码.就像这样: ? 以下的内容中,你将会了解到二维码的基本知识并且学会制作一个属于你自己的动态二维码. 让我们一起来吧. 2. 二维码基础知识 二维码是用某种特定的几何图形按一定规律在平面(也即二维方向上)分布的黑白相间的图形记录数据符号信息的

Atitit java 二维码识别 图片识别

1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数据编码31.6. 错误修正容量L水平7%的字码可被修正M水平15%的字码可被修正Q水平25%的字码可被修正H水平30%的字码可被修正31.7. QR是怎么对数据码加上纠错码的?31.8. 画二维码图41.9. 简要的编码过程:数据分析:确定编码的字符类型,按相应的字符集转换成符号字符: 选择纠错等级,71.10. qr长度容量7 1.1.解码编

2016年大学生研究性学习和创新性实验计划项目 我的项目 :二维码数据反馈系统 第四周作业

参加软件班后介于一直没有实训的机会,感觉自己应该主动找点项目,提升自己的技术水平,这次在老师和同学的帮助下参加了2016年大学生研究性学习和创新性实验计划项目: 下面是我参与的项目的一些简介: 项目名:二维码数据反馈系统    简述:二维码具有面积小,信息容量大,安全性高,读取率高,纠错能力强等优点,不仅能够存储足够的物品信息,还具有抗干扰能力强.运用环境适应性好.使用成本低廉等优点, 现今成为各种产品  防伪的首要选择.        项目的创新点和特色 :传统的生产厂商通过条形码来记录商品信

Android应用--QR的生成(二维码)

二维码的定义: 二维码(2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的. 在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等.1.堆叠式/行排式二维条码,如,Code 16K.Code 49.PDF417(如下图)等. 2.矩阵式二维码,最流行莫