分享一个在线二维码生成器(基于qrcode.js开发)

news2024/7/4 5:42:41

一种二维码扫描与生成的工具, 它可生成个性化二维码, 支持文本、网址、图片、短信、电话等格式及主题,提供融合码功能

演示地址

https://qrcode.gitapp.cn

关键代码

var qrcode = new QRCode(document.getElementById("qrcode"), {
    text: "",
    width: 288,
    height: 288,
    colorDark: "#000000",
    colorLight: "#ffffff",
    correctLevel: QRCode.CorrectLevel.H
});

// 调用
qrcode.makeCode(content); // make another code.

二维码知识

二维码(QR code)是一种用于快速读取和存储信息的矩阵式二维码符号。它是由日本Denso公司于1994年9月研制的一种条码技术,具有高效、可靠、灵活和广泛等特点。
二维码由一些黑色和白色的小方块组成,这些方块按照特定的规则排列。通过使用不同的黑白方块组合,可以编码各种类型的数据,包括文本、URL、电话号码、电子邮件地址、图片、视频等。 使用二维码可以方便地将信息传输到其他设备或与互联网连接的设备上。例如,您可以将二维码保存到手机相册中,然后使用手机应用程序扫描该二维码,以访问链接、下载文件、获取信息等。 由于二维码的灵活性和普遍性,它们已经广泛应用于各种领域,如商业、医疗保健、教育、物流、娱乐等。


二维码的生成原理涉及到编码过程和纠错码的生成。以下是基本的步骤:

1.数据编码:首先,需要将需要存储的数据转换为二进制码。这个过程可以通过将数据转换为ASCII码,然后再将ASCII码转换为二进制码实现。

2.生成纠错码:为了提高二维码的识别率,需要为每个字符生成一组纠错码。纠错码的作用是检测和修正错误,通常采用的是Reed-Solomon编码。这种算法可以检测并修正一定数量的错误,从而确保二维码的可靠性。

3.模块排列:将数据和纠错码按照一定的规则排列到二维码矩阵中。具体的排列方式取决于二维码的类型和版本。


二维码样例图

11.jpg

数据编码

22.jpg

QR码支持如下的编码:

Numeric mode 数字编码,从0到9。如果需要编码的数字的个数不是3的倍数,那么,最后剩下的1或2位数会被转成4或7bits,则其它的每3位数字会被编成 10,12,14bits,编成多长还要看二维码的尺寸

Alphanumeric mode 字符编码。包括 0-9,大写的A到Z(没有小写),以及符号$ % * + – . / : 包括空格。这些字符会映射成一个字符索引表。如下所示:(其中的SP是空格,Char是字符,Value是其索引值) 编码的过程是把字符两两分组,然后转成下表的45进制,然后转成11bits的二进制,如果最后有一个落单的,那就转成6bits的二进制。而编码模式和字符的个数需要根据不同的Version尺寸编成9, 11或13个二进制

参考github

https://github.com/davidshimjs/qrcodejs

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

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

相关文章

2023下半年西安/北京/深圳NPDP产品经理国际认证开班啦

产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是…

【JavaSE】Java快速入门

Java main 函数 public class Main {public static void main(String[] args) { System.out.printf("Hello and welcome!");} }与C命名规范不同,Java 的命名形式最好使用驼峰法 Java 注释 C/C常用的两种注释习惯Java都可以使用,Java自身…

【HASH值获取】

命令行输入:C:\Users\Administrator>certutil -hashfile SIC-1000.exe md5

2、[春秋云镜]CVE-2022-30887

文章目录 一、靶标介绍二、复现过程 一、靶标介绍 二、复现过程 (1)打开网址。 (2)查看源代码 邮件格式:第一个符号不准为,后续符号有、.; 密码格式:匹配所有小写字母&#xff0c…

数组 刷题常用

在写数组模拟常用到数组,借此把常用的记下来以便查阅 一维数组,若初始化为0,可以用int a[N] {0}或者int a[N]{}. 但是若是其他值,不可类似地初始化为int a[N] {0},而应写成memset或者fill赋值的方法。 首先便是二维…

康希诺的再估值:市场到底,行业向上

生物医药是整个二级市场弹性数一数二,但拐点难以揣摩的行业。这一点,美港A三大市场都曾经有过足够多的暴涨暴跌案例可用于佐证。 但很多时候,这种片面的表现又掩盖了生物医药自身的永续价值:在绝大多数细分赛道上,任何…

激活Conda环境并在pycharm使用

第一步:打开Anaconda Prompt 第二步:查看当前存在的虚拟环境 conda env list 第三步:创建虚拟环境 conda create -n 环境名 pythonX.X.X 如果不清楚python版本,可以用以下命令查看: 第四步:激活指定虚拟环…

客户案例|MemFire Cloud助推应急管理业务,打造百万级数据可视化大屏

「导语」 硬石科技,成立于2018年,总部位于武汉,是一家专注于应急管理行业和物联感知预警算法模型的技术核心的物联网产品和解决方案提供商。硬石科技作为一家高新技术企业,持有6项发明专利,拥有100余项各类平台认证和资…

nginx+tomcat部署的项目,上传文件成功,但请求文件报403 forbidden

这是因为上传文件时tomcat创建的目录、文件,nginx没有权限访问导致。 最快的解决方法是修改$tomcat_home/bin/catalina.sh 修改之后记得重启tocmat 参考: https://www.cnblogs.com/mgds/p/16129039.html

解读未知:文本识别算法的突破与实际应用

解读未知:文本识别算法的突破与实际应用 1.文本识别算法理论 背景介绍 文本识别是OCR(Optical Character Recognition)的一个子任务,其任务为识别一个固定区域的的文本内容。在OCR的两阶段方法里,它接在文本检测后面…

攻防世界-Erik-Baleog-and-Olaf

原题 解题思路 文件名就说了stego,改成图片后缀再用stegslove打开。 扫码即可

十二、集合(3)

本章概要 迭代器 Iterators ListIterator 链表 LinkedList堆栈 Stack 迭代器Iterators 在任何集合中,都必须有某种方式可以插入元素并再次获取它们。毕竟,保存事物是集合最基本的工作。对于 List , add() 是插入元素的一种方式&#xff0c…

【sgTransfer】自定义组件:带有翻页、页码、分页器的穿梭框组件,支持大批量数据的穿梭显示。

特性&#xff1a; 表格宽度可以自定义翻页器显示控件可以自定义列配置项可以设置显示字段列名称、宽度、字段名可以配置搜索框提示文本&#xff0c;支持搜索过滤穿梭框顶部标题可以自定义左右箭头按钮文本可以设置 sgTransfer源码 <template><div :class"$opti…

渲染如何做到超强渲染?MAX插件CG MAGIC中的渲染功能!

渲染工作应该算是设计师的日常工作流程中最重要的环节之一了。如果渲染速度加快&#xff0c;可能是要看渲染技巧掌握的有多少了。 大家熟悉的3d Max本地渲染通道&#xff0c;对于CG MAGIC渲染功能你也一定不能错过&#xff0c;要知道操作简单易使用&#xff0c;就完全拿捏了效率…

防溺水智能预警系统解决方案 yolov7

防溺水智能预警系统解决方案采用yolov7先进的AI视觉识别算法模型框架&#xff0c;防溺水智能预警系统解决方案算法实现对危险水域人员活动、水面情况等各项指标的监测和分析。当发现有人进入危险水域或出现紧急情况时&#xff0c;算法会立即发出预警信号。Yolo算法采用一个单独…

c#继承(new base)的使用

概述 C#中的继承是面向对象编程的重要概念之一&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;从另一个类&#xff08;称为父类或基类&#xff09;继承属性和行为。 继承的主要目的是实现代码重用和层次化的组织。子类可以继承父类的字段、属性、方法和事…

MySQL忘记密码->重置密码

MySQL忘记密码->重置密码 无密码登录root 以管理员权限进入CMD&#xff0c;在命令行输入&#xff1a;net stop mysql MySQL停止服务后&#xff0c;输入mysqld --shared-memory --skip-grant-tables&#xff0c;以锁定命令提示符窗口&#xff0c;我们需要重新打开一个管理员…

vivo2020届春季校园招聘在线编程考试(一)

题目&#xff1a; 手机屏幕解锁模式 现有一个 3x3 规格的 Android 智能手机锁屏程序和两个正整数 m 和 n &#xff0c;请计算出使用最少m 个键和最多 n个键可以解锁该屏幕的所有有效模式总数。 其中有效模式是指&#xff1a; 1、每个模式必须连接至少m个键和最多n个键&#xf…

Sharding-JDBC(八)5.3 系列升级解读

目录 一、背景二、影响范围1.Maven 坐标调整2.自定义算法调整3.事务调整4.配置文件调整 三、升级指导1.新的 ShardingSphereDriver 数据库驱动2.正在使用 Spring Boot Starter 如何升级升级前升级后 3.正在使用 Spring Namespace 如何升级升级前升级后 四、总结 5.3.0 官方文档…