Python实现二维码数据压缩支持中文不乱码
import qrcode
import zlib
import base64
def compress(data):
"""
压缩数据
"""
compressed = zlib.compress(data.encode('utf-8'))
return base64.b64encode(compressed).decode('utf-8')
def decompress(compressed):
"""
解压数据
"""
compressed = base64.b64decode(compressed.encode('utf-8'))
data = zlib.decompress(compressed).decode('utf-8')
return data
def generate_qrcode(text):
"""
生成压缩后的二维码
"""
compressed = compress(text)
qr = qrcode.QRCode(version=None, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4)
qr.add_data(compressed)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
img.show()
if __name__ == '__main__':
text = "需要压缩的文本内容"
generate_qrcode(text)
下载地址
用户评论