You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中zlib压缩与base64编码顺序错误,如何生成目标可读编码串?

问题分析与解决办法

你的代码存在两个核心问题:

  • 操作顺序完全颠倒:正确的编码流程应该是先对原始字节串做zlib压缩,再对压缩后的结果进行base64编码;而你是先做base64编码再压缩,这和解码时的流程(base64解码→zlib解压)完全不匹配。
  • 缺少最终的可读转换:你直接输出了zlib压缩后的原始字节串,而预期的是经过base64编码后的可读字符串,需要把压缩结果再做一次base64编码并转成普通字符串。

正确代码示例

import zlib, base64
# 原始字节串
original = b"Hello World! I'm on StackOverflow!"
# 按正确顺序操作:zlib压缩 → base64编码 → 转成utf-8字符串
result = base64.b64encode(zlib.compress(original)).decode('utf-8')
print(result)

运行这段代码就能得到你期望的结果:eF7zSM3JyVcIzy/KSVFU8FTPVcjPUwguSUzO9i9LLUrLyS9XBADJNQvD

流程匹配说明

解码时的步骤是base64解码 → zlib解压,所以编码时必须对应zlib压缩 → base64编码,这样才能保证双向操作的兼容性。

内容的提问来源于stack exchange,提问作者Rahul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 21:52:10