目录
数据时代,二维码已经成为我们生活之密不可分的部分,不经意间,我们已处二维码的海洋。
二维码是用某种特定的几何图形按一定规律在平面分布的、彼此相间的、记录数据符号信息的图形。常见的二维码为QR Code(Quick Response Code),是近年来移动设备上超流行的一种编码方式,由Denso公司于1994年9月研制的一种矩阵二维码符号,具有信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点。
二维码编码字符集
二维码因读取超高速,全方位,可有效表示汉字等特性而广泛应用,其编码字符集为:
- 数字型数据(0~9)
- 字母型数据(a~z;A~Z;其他字符:space ,$, %, *, +, -, ., /, :)
- 8位字节型数据
- GB 2312对应的汉字和非汉字字符
二维码基本特性
规格 |
21×21矩阵(版本1)-177×177 矩阵(版本40) |
(逐版每边增加4个矩阵) |
|
数据类型与容量 (版本40-L级) |
数字数据:7,089个字符 |
字母数据:4,296个字符 |
|
8位字节数据:2,953个字符 |
|
汉字数据:1,817个字符 |
|
数据表示 |
深色模块表示二进制“1”,浅色模块表示二进制“0”。 |
纠错能力 |
L级:约可纠错7%的数据码字 |
M级:约可纠错15%的数据码字 |
|
Q级:约可纠错25%的数据码字 |
|
H级:约可纠错30%的数据码字 |
|
结构链接(可选) |
可用1-16个QR Code码符号表示一组信息(每一符号表示100个字符) |
qrcode
qrcode为Python生成QR Code所需的第三方库,如何安装等请参见:
Python第三方库之安装,升级,卸载,国内镜像及其他python包的本质就是模块https://blog.csdn.net/iprobobo/article/details/122806955
qrcode生成二维码有简易模式和全功能模式两种:
简易模式
该模式下 qrcode 取参数默认值,区区 3 行代码即可一键生成您所需的普通二维码。
import qrcode
img=qrcode.make('') #二维码内容
img.save('.png') #保存为图片
全功能模式
该模式下可通过设置相应参数生成需要的效果
函数 | 参数 | 描述 |
---|---|---|
qrcode.QRCode() | version | 版本(1-40),控制二维码大小,默认1,空白则适用 fit 参数 |
error_correction | 纠错 | |
qrcode.ERROR_CORRECT_L | L级 | |
qrcode.ERROR_CORRECT_M | M级,默认值 | |
qrcode.ERROR_CORRECT_Q | Q级 | |
qrcode.ERROR_CORRECT_H | H级 | |
box_size | 每个格子像素,默认10 | |
border | 留白边界,默认为最小值4个格子 | |
qrcode.QRCode.add_data() | 目标信息字符串 | |
qrcode.QRCode.make() | fit=True | version为空时自动生成合适大小的二维码图片 |
qrcode.QRCode.make_image() | fill_color | 填充颜色或REB 色值 |
back_color | 背景颜色或REB 色值 | |
save() | 生成目标图片 | |
show() | 打开目标图片 |
示例:
import qrcode
qr = qrcode.QRCode(
version=10,
error_correction=qrcode.ERROR_CORRECT_H,
box_size=10,
border=10,
)
qr.add_data('')
qr.make(fit=True)
img = qr.make_image(fill_color='blue', back_color='wheat')
img.save('.png')
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106944.html