python - '"sss 的用途.decode ("base64".decode ("zlib")'

标签 python

ACTIVATE_THIS = """
eJx1UsGOnDAMvecrIlYriDRlKvU20h5aaY+teuilGo1QALO4CwlKAjP8fe1QGGalRoLEefbzs+Mk
Sb7NcvRo3iTcoGqwgyy06As+HWSNVciKaBTFywYoJWc7yit2ndBVwEkHkIzKCV0YdQdmkvShs6YH
E3IhfjFaaSNLoHxQy2sLJrL0ow98JQmEG/rAYn7OobVGogngBgf0P0hjgwgt7HOUaI5DdBVJkggR
3HwSktaqWcCtgiHIH7qHV+esW2CnkRJ+9R5cQGsikkWEV/J7leVGs9TV4TvcO5QOOrTHYI+xeCjY
JR/m9GPDHv2oSZunUokS2A/WBelnvx6tF6LUJO2FjjlH5zU6Q+Kz/9m69LxvSZVSwiOlGnT1rt/A
77j+WDQZ8x9k2mFJetOle88+lc8sJJ/AeerI+fTlQigTfVqJUiXoKaaC3AqmI+KOnivjMLbvBVFU
1JDruuadNGcPmkgiBTnQXUGUDd6IK9JEQ9yPdM96xZP8bieeMRqTuqbxIbbey2DjVUNzRs1rosFS
TsLAdS/0fBGNdTGKhuqD7mUmsFlgGjN2eSj1tM3GnjfXwwCmzjhMbR4rLZXXk+Z/6Hp7Pn2+kJ49
jfgLHgI4Jg==
""".decode("base64").decode("zlib")

我的代码:

import zlib
print 'dsss'.decode('base64').decode('zlib')#error

Traceback (most recent call last):
  File "D:\zjm_code\b.py", line 4, in <module>
    print 'dsss'.decode('base64').decode('zlib')
  File "D:\Python25\lib\encodings\zlib_codec.py", line 43, in zlib_decode
    output = zlib.decompress(input)
zlib.error: Error -3 while decompressing data: unknown compression method

a='dsss'.encode('zlib')
print a
a.encode('base64')
print a
a.decode('base64')#error
print a
a.decode('zlib')
print a

x\x9cK)..Traceback (most recent call last):
  File "D:\zjm_code\b.py", line 7, in <module>
    a.decode('base64')
  File "D:\Python25\lib\encodings\base64_codec.py", line 42, in base64_decode
    output = base64.decodestring(input)
  File "D:\Python25\lib\base64.py", line 321, in decodestring
    return binascii.a2b_base64(s)
binascii.Error: Incorrect padding

a='dsss'
a=a.encode('zlib')
print a
a=a.decode('zlib')
print a#why can't print 'dsss'

x\x9cK)..

a='dsss'
a=a.encode('zlib')
#print a
a=a.decode('zlib')
print a#its ok

我认为“打印 a”用“uhf-8”编码 a。 所以:

#encoding:utf-8
a='dsss'
a=a.encode('zlib')
print a
a=a.decode('utf-8')#but error.
a=a.decode('zlib')
print a#


x\x9cK)..Traceback (most recent call last):
  File "D:\zjm_code\b.py", line 5, in <module>
    a=a.decode('utf-8')
  File "D:\Python25\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9c in position 1: unexpected code byte

最佳答案

字符串中的数据是经过编码和压缩的二进制数据。 .decode("base64").decode("zlib") 取消编码并解压缩它。

您收到的错误是因为从 base64 解码的“dsss”不是有效的 zlib 压缩数据。

关于python - '"sss 的用途.decode ("base64".decode ("zlib")',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035727/

相关文章:

python - 封闭式斐波那契数列

python - 使用 atlas 和 openblas 对 numpy 进行基准测试时出现奇怪的结果

python - 使用 BeautifulSoup 和 Python 获取元标记内容属性

python - 在 python 列表中删除对象的实例

python - ConvNN 奇怪的准确率分数和准确率图

Python从POST请求接收formData,获取流,文件损坏

python - 如何查找了解主题或其他方式的 rdf 对象?

python父子关系类

python - MxNet:推断大型图像数据集的好方法

python 节省纯数字字 rune 本文件大小的注意事项