目录
二维码编码字符集
二维码基本特性
qrcode
简易模式
全功能模式
数据时代,二维码已经成为我们生活之密不可分的部分,不经意间,我们已处二维码的海洋。
二维码是用某种特定的几何图形按一定规律在平面分布的、彼此相间的、记录数据符号信息的图形。常见的二维码为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')
结果:



