V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lovezww2011
V2EX  ›  分享创造

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

  •  
  •   lovezww2011 ·
    geeeeeeeek · 2023-08-30 18:59:04 +08:00 · 2090 次点击
    这是一个创建于 454 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    演示地址

    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

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1052 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 20:37 · PVG 04:37 · LAX 12:37 · JFK 15:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.