二维码基础学习指南

news2024/12/27 13:35:14

1.二维码基础原理

二维码生成原理及解析代码_二维码算法及原理-CSDN博客

2. 关于字符容纳的分辨

2.1 数字编码(Numeric Mode)


数字编码的范围为 0~9。
对于数字编码,统计需要编码数字的个数是否为 3 的倍数:如果不是 3 的倍数,则剩下的 1 位或 2 位会被转为 4bits 或 8bits(十进制转二进制),每三位数字都会被编成 10bits, 12bits, 14bits,具体编码长度仍然需要二维码尺寸决定。

2.2 字符编码(Alphanumeric Mode)

字符编码的范围有:

  • 数字 0~9;
  • 大写 A~Z(无小写);
  • 几个符号$ % * + - . / 和空格。

图中 Char 表示字符,Value 表示字符对应的索引值。
索引表中共 45 种对应关系,字符编码的过程,就是将每两个字符分为一组,然后转成上图 2.3 的 45 进制,再转为 11bits 的二进制结果。对于落单的一个字符,则转为 6bits 的二进制结果。
此外,根据上图 2.2 的设定,对不同 Version 的二维码使用 9/11/13 个二进制表示。

注:
上图 2.3 中的 SP 代表空格。

2.2.3 字节编码(Byte Mode)


可以是 0-255 的 ISO-8859-1 字符。有些二维码的扫描器可以自动检测是否是 UTF-8 的编码。
 

3. 二维码不同version对应的不同最大容纳字符数

qrcode共有40个版本,支持各种类型数据。个人一般统一转换成8位字节进行算法存储。(汉字 --uff8占用3个字节)

学习ASCII码详解 - 知乎 (zhihu.com)

Ascll完整码表(256个)_ascll码表-CSDN博客(包含扩展ascII)

在这里,可以简单考虑一下每种编码方式的区别asc的7位表示128个字符,8位编码标准,如ISO-8859和Unicode。UTF-8编码使用1到4个字节来表示不同的字符。对于ASCII字符(0-127),UTF-8编码使用单个字节与ASCII码完全兼容。对于非ASCII字符,UTF-8使用多个字节来表示对于包含汉字等非ASCII字符的文本,可以使用UTF-8编码将其转换为字节序列,每个汉字通常占用3个字节。

qrcode各版本/各类型容量支持表_二维码的版本与容量_squallonline8708的博客-CSDN博客

QR code各模式的数据容量_qrcode mode-CSDN博客

二维码(QRcode)容量的计算_21*21二维码能包含多少个字符-CSDN博客

4. 辨识二维码的容错率方法

12位,12全黑为L 7%,1黑2白为M 15%, 1白2黑为Q 25%, 12全白为H  30%

如何一眼看出二维码的纠错等级_潇潇-商业新知 (shangyexinzhi.com)

QR 二维码纠错码(三)-腾讯云开发者社区-腾讯云 (tencent.com)

5. 可信二维码

基于数字签名的可信二维码生成与认证方案研究 - 中国知网 (cnki.net)

每天都扫的二维码,你知道它的技术原理吗? - 掘金 (juejin.cn)

你知道什么是动态二维码吗? - 知乎 (zhihu.com)

揭秘共享单车背后的物联网技术 - 知乎 (zhihu.com)

字节二面:请你聊聊二维码登录原理 - 知乎 (zhihu.com)

6. flutter二维码使用指南

Flutter之实现生成二维码,扫描二维码——Flutter基础系列_flutter 二维码生成-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1068612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ios safari 浏览器跳转页面没有自适应

今天开发遇到了一个问题,当用户点击浏览器中的表单进行注册时,表单元素会放大,随后跳转页面无法还原到初始状态。 这是因为如果 的 font-size 被设定为 16px 或更大,那么 iOS 上的 Safari 将正常聚焦到输入表单中。但是&#xff…

NSSCTF [BJDCTF 2020]easy_md5 md5实现sql

开局一个框 啥都没有用 然后我们进行抓包 发现存在提示 这里是一个sql语句 看到了 是md5加密后的 这里也是看了wp 才知道特殊MD5 可以被识别为 注入的万能钥匙 ffifdyopmd5 加密后是 276F722736C95D99E921722CF9ED621C转变为字符串 后是 or6 乱码这里就可以实现 注入 所…

一款构建Python命令行应用的开源库

1 简介 当我们编写 Python 程序时,我们经常需要与用户进行交互,接收输入并输出结果。Python 提供了许多方法来实现这一点,其中一个非常方便的方法是使用 typer 库。typer 是一个用于构建命令行应用程序的 Python 库,它使得创建命令…

Qt元对象系统 day4

Qt元对象系统 day4 元对象 元对象系统是一个基于标准C的扩展,为Qt提供了信号与槽机制、实时类型信息、动态属性系统。元对象可以操作、创建、描述或是执行其他对象,元对象又称为基对象元对象组成 QObject: QT 对象模型的核心,绝…

2023年9月:比特币逆势崛起!全球市场暴跌中的优异表现引人瞩目!

比特币在 9 月份上涨,而许多传统资产遭受了重大损失,凸显了加密货币的多元化特性。全球市场的压力似乎源于政府债券收益率上升和油价上涨。 随着比特币链上指标在本月的改善,强劲的基本面发挥了关键作用。稳定币市值在去年下降后趋于稳定&am…

RDkit的安装

1.一定要以管理员模式运行anaconda 2.用Anaconda创建一个新的虚环境 conda create -n my-rdkit python3.63.(进入)虚环境 #windows conda deactivate4.安装 conda install -c rdkit rdkit # 解释: -c 是选择channels, 选择从哪里下载, 第一个rdkit是通道,第二个是我们需要的…

SaaS和CRM软件系统间的关系

CRM系统和SaaS的概念是很多企业并不熟知的,CRM的字眼也是在数字化转型的浪潮下才渐渐出现在大家的眼前,让更多人认识到数字化工具的作用,但你清楚CRM系统和SaaS的关系吗? 什么是SaaS?SaaS可以理解为一种服务方式。厂商…

如何做好sop流程图?sop流程图用什么软件做?

5.如何做好sop流程图?sop流程图用什么软件做? 建立标准作业程序sop已经成为企业进步和发展的必经之路,不过,很多刚刚开始着手搭建sop的企业并不知道要如何操作,对于如何做sop流程图、用什么软件做sop流程图等问题充满…

数据中心负载测试中常见的挑战和解决方案有哪些?

数据中心负载测试中常见的挑战一个是搭建真实的测试环境,需要考虑到数据中心的规模、硬件设备、网络拓扑等因素,以确保测试的准确性和可靠性。在进行负载测试时,需要合理管理资源,包括服务器、存储设备、网络带宽等,以…

Selenium进行无界面爬虫开发

在网络爬虫开发中,利用Selenium进行无界面浏览器自动化是一种常见且强大的技术。无界面浏览器可以模拟真实用户的行为,解决动态加载页面和JavaScript渲染的问题,给爬虫带来了更大的便利。本文将为您介绍如何利用Selenium进行无界面浏览器自动…

C++ — 指针和数组的关系?

在本文中,您将了解数组与指针之间的关系,并在程序中有效地使用它们。 指针是保存地址的变量。指针不仅可以存储单个变量的地址,还可以存储数组单元的地址。 看以下示例: int* ptr; // 定义指针变量ptr int a[5]; ptr &a[2…

关于JDK于JRE路径配置问题

今天在配置tomcat时发现,无法找到jre的路径,在网上找了半天,才知道,JDK11版本之后,jre的路径默认和JDK路径一致,JDK11之后的文件夹中不再包含jre文件夹,由此在配置JRE环境变量时,只需…

194、SpringBoot --- 下载和安装 Erlang 、 RabbitMQ

本节要点: 一些命令: 小黑窗输入: rabbitmq-plugins enable rabbitmq_management 启动控制台插件 rabbitmq-server 启动rabbitMQ服务器 管理员启动小黑窗: rabbitmq-service install 添加rabbitMQ为本地服务 启动浏览器访问 htt…

【微信小程序开发】一文学会使用CSS样式布局与美化

引言 在微信小程序开发中,CSS样式布局和美化是非常重要的一部分,它能够为小程序增添美感,提升用户体验。本文将介绍如何学习使用CSS进行样式布局和美化,同时给出代码示例,帮助开发者更好地掌握这一技巧。 一、CSS样式布…

基于虚拟同步发电机的光伏混合储能并网系统Simulink仿真

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【算法刷题】【反转链表】给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。

题目 解决: import java.util.*;/** public class ListNode {* int val;* ListNode next null;* public ListNode(int val) {* this.val val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改&#x…

Python 绘制玫瑰花

首先需要下载 matplotlib 模块 代码源码 from matplotlib import cm import matplotlib.pyplot as plt import numpy as npfig plt.figure() ax fig.add_subplot(projection3d) [x, t] np.meshgrid(np.array(range(25)) / 24.0, np.arange(0, 575.5, 0.5) / 575 * 17 * n…

【运筹学】整数规划建模技巧

在整数规划建模中,经常会使用到0-1变量来辅助建模,将模型表述为IP模型或BIP模型,下面是一些常见的整数规划建模技巧 使用辅助0-1变量实现“非此即彼”约束 如下图所示,有两条约束,希望只有其中一条起到约束的作用&am…

CVE-2023-4120:百卓智能Smart多业务安全网关智能管理平台SQL注入漏洞复现

文章目录 百卓智能Smart多业务安全网关智能管理平台SQL注入CVE-2023-4120 复现0x01 前言0x02 漏洞描述0x03 影响平台0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 百卓智能Smart多业务安全网关智能管理平台SQL注入CVE-2023-4120 复现 0x01 前言 免…

漏刻有时物联网环境态势感知大数据(设备列表、动态折线图)

物联网环境下的态势感知是指对物联网环境中的各种要素进行全面、实时、准确的监测、分析和预测,以实现网络态势的全面掌握和安全威胁的及时响应和处理。具体而言,态势感知以物联网环境为基础,利用各类传感器、数据采集设备和其他相关工具,对物联网设备、资产、数据流等进行…