1 QR码的历史

1994 年, DENSO WAVE子公司需要更好、更快、更强大的条码技术来处理更多字符并帮助他们跟踪车辆和零件。 Masahiro Hara 和一个两人团队承担了开发我们现在知道和认可的二维码的任务。

Hara 和他的团队面临的一些最具挑战性的问题是想办法让二维码尽可能快地读取,同时在添加位置检测图案的形状后防止错误识别。它必须是独一无二的,这意味着开发团队花了一年的大部分时间来调查白色与黑色区域的比例,然后将它们减少为印刷材料上的图案。结果?他们确定理想的比例为 1:1:3:1:1。

通过识别这个数字,他们能够确定位置检测图案中的黑白区域,这使得无论扫描角度如何都能检测到代码。简而言之,这个独特的比例仅仅意味着你可以从上、下、左或右扫描它。

尽管 QR 码最初的目标领域是制造业,但随着智能手机使用的兴起以及它仍然没有专利的事实,这意味着它成为了一种开源技术,任何人都可以使用。

您现在可以发现 QR 码时尚地传递大量信息并将印刷品重新定义为数字营销场景。

我们知道您渴望获得更多知识,因此要了解不同类型的代码,例如 Micro QR 代码,请查看我们的博客。

2 甚么是二维码

在我们深入研究二维码的历史之前,让我们确保清楚什么是二维码。二维码或快速响应码是一种可以通过手机快速读取的代码(因此名称中包含“快速”一词)。使用间距组合作为一种矩阵条形码(二维条形码),当扫描二维码时,它会传达大量信息。二维码在零售、营销和物流等所有类型的行业都有广泛的用途。

虽然 QR 码和条形码在实践中相似,但 QR 码包含更多信息,因为它们能够水平和垂直地保存信息。条形码仅使用水平信息。虽然条形码非常适合扫描超市物品等情况,但 QR 码具有更高的信息传输能力,这可能是由于其多功能性而使其越来越受欢迎的原因。

3 二维码的结构

现代二维码由 7 个部分组成。这些部分中的每一个都创建了一种类似于填字游戏的像素图案。每个元素都有特定的用途,通过代码传达某些信息,例如打印方向、时间、容错和空格,以区分代码与周围的内容。

4 二维码的版本和码元

QR码有从1-40个不同版本,每个版本都有一套固定格式(码元数,即黑白格子)。

版本码元对照表:

版本 码元
1 21X21
... ...  以4递增
40 177X77

4 QR码支持的编码内容

QR码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中:

数字:每三个为一组压缩成10bit。

字母数字混合:每两个为一组,压缩成11bit。

8bit字节数据:无压缩直接保存。

多字节字符:每一个字符被压缩成13bit。

5 纠错级别

选择纠错级别,从L、M、Q、H四个纠错级别。纠错处理相对复杂,如何纠错这里不谈,按照QR码的标准文档说明,QR码的纠错分为4个级别,分别是:

level L : 最大 7% 的错误能够被纠正;
level M : 最大 15% 的错误能够被纠正;
level Q : 最大 25% 的错误能够被纠正;
level H : 最大 30% 的错误能够被纠正;

6 举个例子

需要输入的数据为100位的数字,将通过一下步骤来选定。

1 数据的种类--这里假定为数字

2 从L、M、Q、H四个纠错级别中选取一个。

3 然后查下表,从数字中找到100(或大于且接近100)的,两者交叉就是最佳配比。

以上表中:选数字、选3版本的M纠错版本。

【QR码原理内容还很多,这里就先讲这么多。后文继续,揭示如何生成QR码。】

如:

QR码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中:

数字:每三个为一组压缩成10bit。

字母数字混合:每两个为一组,压缩成11bit。

8bit字节数据:无压缩直接保存。

多字节字符:每一个字符被压缩成13bit。

参考文章:

QR Code Basics | Getting Started with QR Codes

二维码(QR code)基本结构及生成原理 (360doc.com)

QR码使用总结_Genekras的专栏-CSDN博客_qr获取昵称的变量是

halcon知识:【1】二维码原理相关推荐

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

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

  2. 二维码原理解析,生成一个二维码需要这些知识

    /   今日科技快讯   / 近日,在英伟达取消以400亿美元收购英国芯片设计公司ARM的计划后,ARM宣布将在全球范围内裁员,大约涉及1000名员工.ARM在声明中表示:"与其他公司一样, ...

  3. Android二维码原理与优化方向

    困惑 做过Android的二维码扫描的童鞋可能会遇到过,很多二维码识别不了,或者识别速度慢.一般造成这个识别不出来的原因,大概以下几点: Android手机配置不一样,手机像素高低也有不同,有的手机还 ...

  4. halcon知识:【2】二维码原理

    1 说明 因为QR是一个较为复杂的协议,单说原理已经很难在短篇文章说尽.因此我们这里从最简单的QR设计和开发QR方面的应用,从中理解QR的原理. 2 设计一个问题 我们从下表入手,表中最简单的信息是: ...

  5. java 二维码原理以及用java实现的二维码的生成、解码

    QR码生成原理(一) 一.什么是QR码 QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化.QR码的样子其实在很多场合已经能够被看到了,我这还是贴个图展示 ...

  6. 手机扫描条形码二维码原理和实现等网上资料整理

    有志于要从事条形码和二维码开发的同学,和我一样想多了解这方面的东西.但是苦于网上资源甚少,我已经把现有资源整理如下. 原理.实现方案.代码资源.规则是否通用比如加密如何实现? ============ ...

  7. 二维码原理及生成示例

    二维码介绍 简介 二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的 ...

  8. 二维码原理、制作和识别

    参考: 二维码(QR code)基本结构及生成原理(附标准下载) 二维码到底是怎么被识别的?黑白小方块又是怎么储存数据的? 一.矩阵式二维条码QR 矩阵式二维条码(又称棋盘式二维条码) QR码的设计理 ...

  9. 二维码原理与编码介绍

    一 简介 二维条码(二维码)是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间的图形记录数据符号信息的. 二维码是DOI(Digital Object Unique Identifier ...

最新文章

  1. UOJ#179. 线性规划(线性规划)
  2. nmap 获取主机名
  3. c语言或者cpp中位运算的技巧
  4. adb命令中的keyevent事件
  5. mysql复制安全性_从MySQL复制功能中得到一举三得实惠
  6. git本地分支删除,代码没了!怎么恢复!亲测有效(吓死人了)
  7. react 当前时间_React教程-State 生命周期
  8. 物联网卡购买最关注的六个点
  9. javascript中for循环里面套定时器,始终打印结束值原因
  10. 欧几里得算法求最大公约数
  11. kubernetes 1.14安装部署metrics-server插件
  12. 恩智浦杯智能汽车大赛—直立车模实现原理(mpu6050控制)
  13. Xcelsius介绍
  14. 写一个函数,实现 n 的阶乘
  15. UVA 1616 Caravan Robbers 【二分+贪心+枚举分母】
  16. Auto-Rig Pro文档翻译:安装
  17. 哈工大2021集合论与图论期末
  18. 基于PostgreSQL的时区问题解决
  19. AT32 MCU QR USB HID Keyboard例程
  20. 如何用matlab画烧杯,matlab 微分方程求解作图这个方程怎么解,还有图象怎么出来~dN1/dt=[r1*(1-N1/K1)-m*N2]*N...

热门文章

  1. 机器学习笔记:GRU
  2. MATLAB问题解决方案- Matlab出现报错:​‘***‘不是内部或外部命令,也不是可运行的程序或批处理文件
  3. c语言 二级菜单_收下计算机二级秘笈,考场上说好不哭!
  4. ai作文批改_全球第一份机器人批改的作文 阿里AI批改中文试卷
  5. api如何使用_什么是API, API是如何工作的?
  6. 新手入门深度学习 | 1-1:配置深度学习环境
  7. Gumble Distribution耿贝尔分布
  8. 机器学习实战读书笔记(3)朴素贝叶斯
  9. 使用 Spring HATEOAS 开发 REST 服务--转
  10. 使用MySQL的LAST_INSERT_ID--转