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

演示地址

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


二维码样例图

数据编码

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

分享一个在线二维码生成器(基于qrcode.js开发)的更多相关文章

  1. jQuery生成二维码 jquery.qrcode.js

    https://github.com/jeromeetienne/jquery-qrcode 1.将jquery.qrcode.min.js和jquery添加到您的网页中 <script src ...

  2. laravel 二维码生成器包 QrCode 的使用

    在laravel中使用 QrCode 生成二维码 https://laravelacademy.org/post/2605.html 我在本机的windows下composer require 没有成 ...

  3. JavaScript二维码生成——qrcode.js

    在开发中,有时候,我们需要根据不同的内容来动态生成二维码,则可以使用qrcode.js这个小插件来实现. 1.qrcode.js文件内容: (1)未压缩(qrcode.js): /** * @file ...

  4. [python] Python二维码生成器qrcode库入门

    Python二维码生成器qrcode库入门 qrcode是二维码生成的Python开源库,官方地址为python-qrcode.所有代码见:Python-Study-Notes. 文章目录 Pytho ...

  5. 常量,字段,构造方法 调试 ms 源代码 一个C#二维码图片识别的Demo 近期ASP.NET问题汇总及对应的解决办法 c# chart控件柱状图,改变柱子宽度 使用C#创建Windows服务 C#服务端判断客户端socket是否已断开的方法 线程 线程池 Task .NET 单元测试的利剑——模拟框架Moq

    常量,字段,构造方法   常量 1.什么是常量 ​ 常量是值从不变化的符号,在编译之前值就必须确定.编译后,常量值会保存到程序集元数据中.所以,常量必须是编译器识别的基元类型的常量,如:Boolean ...

  6. Vue生成分享海报(含二维码)

    本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. 功能需求: 海报有1张背景 ...

  7. 标星7000+,这个 Python 艺术二维码生成器厉害了!

    微信二维码,相信大家也并不陌生,为了生成美观的二维码,许多用户都会利用一些二维码生成工具. 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手 ...

  8. QR二维码生成器源码(中间可插入小图片)

    二维码终于火了,现在大街小巷大小商品广告上的二维码标签都随处可见,而且大都不是简单的纯二维码,而是中间有个性图标的二维码. 我之前做了一个使用google开源项目zxing实现二维码.一维码编码解码的 ...

  9. C#版二维码生成器附皮肤下载

    原文 C#版二维码生成器附皮肤下载 前言 本文所使用的二维码生成代码是谷歌开源的条形码图像处理库完成的,c#版的代码可去https://code.google.com/p/zxing/download ...

  10. vue的二维码生成器

    vue项目开发的时候经常会遇到需要将一个网址链接转化为二维码的需求,方便用户扫描观看,以下就是我在寻找vue二维码生成器的时候踩过的坑. 不能用的二维码生成器    qrcode    node-qr ...

随机推荐

  1. 数字孪生结合GIS系统为物流行业带来的改变

    随着全球物流业务不断扩张和发展,数字化转型成为当今物流行业的主要趋势.在这个数字化时代,数字孪生技术和地理信息系统(GIS)的结合,为物流行业带来了前所未有的机遇和挑战.这种融合将为物流企业提供更高效 ...

  2. Arrarylist集合的使用

    前提:最近JAVA实训课老师讲了一些Arrarylist集合的相关知识,刚好端午假期有空就把这课上学到的知识和自己碰到的一些问题总结下来. 一.Arrarylist集合的使用(以学生信息存储作为演示) ...

  3. 基于注解玩转excel导出导入-基于注解玩转excel导出导入

    title: 基于注解玩转excel导出导入 date: 2021-05-01 15:55:13.53 updated: 2021-12-26 17:43:19.505 url: https://ww ...

  4. IDM HOSTS本地注册 屏蔽的网址

    127.0.0.1 registeridm.com127.0.0.1 www.registeridm.com127.0.0.1 www.internetdownloadmanager.com127.0 ...

  5. 标注工具合集(点云&图片)

    有什么问题欢迎留言交流,发现好用的会持续更新-- 图片类 1. labelimg:https://github.com/tzutalin/labelImg --- 只能拉框 2. labelme:ht ...

  6. 开源:Taurus.DTC 微服务分布式事务框架,支持 .Net 和 .Net Core 双系列版本

    前言: 在经过1年多的深思,十几年的框架编写技术沉淀下,花了近一个月的时间,终于又为 .Net 及 .Net Core 的微服务系列框架贡献当中的一个重要组件. 1.开源地址: https://git ...

  7. Cesium中用到的图形技术——Horizon Culling

    译者注:本文翻译自Cesium官方博文<Horizon Culling>,by KEVIN RING. 目录 地平线针对球体剔除一个点 平面测试 圆锥测试 推广到椭球 代码 预览 在开发像 ...

  8. 云图说|初识云数据库GaussDB(for Redis)

    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:云数据库Gauss ...

  9. 干货来了!阿里发布近300页Flink实战电子书

    近300页实用干货总结,帮你解决 Flink 实战应用难题!<Apache Flink电子书合辑>收录来自bilibili.美团点评.小米.OPPO.快手.Lyft.Netflix等一线大 ...

  10. Jenkins Pipeline SSH Publisher 环境变量、参数引用 要用双引号

    Jenkins Pipeline SSH Publisher 环境变量.参数引用 要用双引号 在 Pipeline 脚本中,如果要使用变量,就必须使用 " 双引号 pipeline { ag ...