1. 首页
  2. 编程语言
  3. Python
  4. Python实现二维码数据压缩支持中文不乱码

Python实现二维码数据压缩支持中文不乱码

上传者: 2023-03-09 03:48:35上传 ZIP文件 4.21KB 热度 13次
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)
下载地址
用户评论