NodeJs 第二十二章 二维码

二维码是由一系列矩阵点(通常是白色或黑色的点)组成的图形,用于存储和传输信息。每个方块都代表一个二进制位,可以表示数字、字母、字符等各种信息。
通过扫描二维码,设备可以解码并读取二维码中的信息,例如网址、文本、联系方式等。

二维码的结构

  • 定位标记:二维码的四个角上有大块的黑色方块,用于标识二维码的位置和方向。
  • 对齐模式:在二维码的某些位置上有一些小块的方块,用于校正图像的变形和畸变。
  • 同步信息:位于定位标记和对齐模式之间的一些黑白方块,用于帮助识别读取二维码的设备找到正确的起始位置。
  • 数据区域:位于二维码的中心部分,由一系列密集排列的黑白方块组成,用来存储实际的信息内容。
  • 容错区域:位于数据区域的周围,一些额外的黑白方块,用于修正可能出现的扭曲、模糊、污损等问题。
    • 纠错等级: L、M、Q、H
    • 纠错等级越高,能够表达的字符量越少

二维码编码模式

  1. 数字模式(Numeric Mode):适用于纯数字数据的编码模式,能够编码0到9的数字。

  2. 字符模式(AlphaNumeric Mode):适用于包含数字和一些字符的数据的编码模式,能够编码数字0到9,大写字母A到Z,以及一些符号字符。

  3. 二进制模式(Byte Mode):适用于包含任意字符的数据的编码模式,能够编码所有的ASCII字符和部分非ASCII字符。

  4. 混合模式(Kanji Mode):适用于包含一些特定的日文汉字字符的数据的编码模式,能够编码部分汉字字符。

Version

二维码 Version是指二维码的尺寸大小。每个版本都有一个特定的尺寸,它由黑白模块的行和列组成。版本号越高,二维码的尺寸越大,存储的信息也会增加。每个版本具有不同的容错能力,即可以容忍一定程度的损坏或污损而不影响信息的读取。

二维码 Version 取值范围是 1~40的数字。1是2121, 40是177177。

简单示例

本章节以 qrcode 为例,他支持 node 和 浏览器环境。详细使用方法参考官方文档

const QRCode = require("qrcode");
QRCode.toDataURL("https://duyi.ke.qq.com/?tuin=a5d48d54", (err, url) => {
  if (err) {
    console.log(err);
  } else {
    console.log(url);
  }
});
  • 13
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值