pythonzlib压缩与解压缩

2024-05-15 05:01:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个base45解码字符串,我用output = zlib.decompress(string)成功解压缩,其中string是:

b'x\xda\xbb\xd4\xe2\xbb\x88\xc5C\xe9l\xe7\xb6\xcd\x9dm\x9a\x8cj\x0b"\x19\xf9\x97\xb0H%]6y\xc0&\x95\xf0\x837\x9b1\xc91\xc4\x92\x91y!\xe3\x92\xc4\xb2\xc6UI)y\x8cI\xb9\x89\xb9\xfeA\xee\xba\x86\x06\x06\x06\xc6\x06F\x86\xa6Ie\x05\xe9^\x06\xe6N\x11\x06\xc6I)%YF@1]\x03s]#\xc3\xa4\xe4|\xa0\xee\xa4\xe4\xcc\n\xad\xd0 ?\xab\xd00gO+\x03C+\xc7\x10+\xd7\xa80\x13\xaf /\xe3p\xf7p\x93pw\x8b0O\xe3\xf0p3g\x13KSe\xcf\xa4\xdc\x82\x1c\xd7P}C}#\x03}CS#\x8b\xa4\xcc\xe2\ni\xdf\xcc\xbc\xcc\xe2\x92\xa2J\x85\xfc4\x05\x8f\xd4\xc4\x9c\x92\x0c\x1d\x05\xc7R\xa0HfbRq\nSRIz\xa6\x85\x89\x81\xa9\xb1\xa5\x81\x81Yr^b\xee\x92\xe4\xb4\xbc\x924\'\x1fWO\xd7\xa0\xa4\xb4\xbc4\xa7\x9c\xd4\xcc\xd4\xa2\xe4\xf4\xbc\x92,_\xc7\x08O_O\x1fOG\xbf\xa4\xf4\xbc,\xdf\xc4\x8a\xcc\xdc\xcc\x9c\xcc\xc4\xbc\xe4\xb2\xd4\xa2TC=c=\x83\xe4\x94\xfc$\xa0/\x0c\x80\xbe\xb0\xd454\x8ep\xe8K\xf7\xf1x\xb9Q\xfc\xc2\x93\x86\x8d\xc5\x99\xba7\xb4\x98\xe4\xe7d\xder2\xd4\xd457\xd8\xd2X3a\x8a\xa8\x91\xb4e_\xe9\x8e\x9ai\xfaj=V\x17\x9c"\xcaR\xb8Um\xf2\x1dN\xdf\x96\x93xzs\xf3\xa9\xbb\x00\x1c[z\x03x\xda\xbb\xd4\xe2\xbb\x88\xc5C\xe9l\xe7\xb6\xcd\x9dm\x9a\x8cj\x0b"\x19\xf9\x97\xb0H%]6y\xc0&\x95\xf0\x837\x9b1\xc91\xc4\x92\x91y!\xe3\x92\xc4\xb2\xc6UI)y\x8cI\xb9\x89\xb9\xfeA\xee\xba\x86\x06\x06\x06\xc6\x06F\x86\xa6Ie\x05\xe9^\x06\xe6N\x11\x06\xc6I)%YF@1]\x03s]#\xc3\xa4\xe4|\xa0\xee\xa4\xe4\xcc\n\xad\xd0 ?\xab\xd00gO+\x03C+\xc7\x10+\xd7\xa80\x13\xaf /\xe3p\xf7p\x93pw\x8b0O\xe3\xf0p3g\x13KSe\xcf\xa4\xdc\x82\x1c\xd7P}C}#\x03}CS#\x8b\xa4\xcc\xe2\ni\xdf\xcc\xbc\xcc\xe2\x92\xa2J\x85\xfc4\x05\x8f\xd4\xc4\x9c\x92\x0c\x1d\x05\xc7R\xa0HfbRq\nSRIz\xa6\x85\x89\x81\xa9\xb1\xa5\x81\x81Yr^b\xee\x92\xe4\xb4\xbc\x924\'\x1fWO\xd7\xa0\xa4\xb4\xbc4\xa7\x9c\xd4\xcc\xd4\xa2\xe4\xf4\xbc\x92,_\xc7\x08O_O\x1fOG\xbf\xa4\xf4\xbc,\xdf\xc4\x8a\xcc\xdc\xcc\x9c\xcc\xc4\xbc\xe4\xb2\xd4\xa2TC=c=\x83\xe4\x94\xfc$\xa0/\x0c\x80\xbe\xb0\xd454\x8ep\xe8K\xf7\xf1x\xb9Q\xfc\xc2\x93\x86\x8d\xc5\x99\xba7\xb4\x98\xe4\xe7d\xder2\xd4\xd457\xd8\xd2X3a\x8a\xa8\x91\xb4e_\xe9\x8e\x9ai\xfaj=V\x17\x9c"\xcaR\xb8Um\xf2\x1dN\xdf\x96\x93xzs\xf3\xa9\xbb\x00\x1c[z\x03'

现在我想用zlib.compress(output)反向解压缩,以恢复原始字符串。但是,输出不同:

b'x\x9c\xbb\xd4\xe2\xbb\x88\xc5C\xe9l\xe7\xb6\xcd\x9dm\x9a\x8cj\x0b"\x19\xf9\x97\xb0H%]6y\xc0&\x95\xf0\x837\x9b1\xc91\xc4\x92\x91y!\xe3\x92\xc4\xb2\xc6UI)y\x8cI\xb9\x89\xb9\xfeA\xee\xba\x86\x06\x06\x06\xc6\x06F\x86\xa6Ie\x05\xe9^\x06\xe6N\x11\x06\xc6I)%YF@1]\x03s]#\xc3\xa4\xe4|\xa0\xee\xa4\xe4\xcc\n\xad\xd0 ?\xab\xd00gO+\x03C+\xc7\x10+\xd7\xa80\x13\xaf /\xe3p\xf7p\x93pw\x8b0O\xe3\xf0p3g\x13KSe\xcf\xa4\xdc\x82\x1c\xd7P}C}#\x03}CS#\x8b\xa4\xcc\xe2\ni\xdf\xcc\xbc\xcc\xe2\x92\xa2J\x85\xfc4\x05\x8f\xd4\xc4\x9c\x92\x0c\x1d\x05\xc7R\xa0HfbRq\nSRIz\xa6\x85\x89\x81\xa9\xb1\xa5\x81\x81Yr^b\xee\x92\xe4\xb4\xbc\x924\'\x1fWO\xd7\xa0\xa4\xb4\xbc4\xa7\x9c\xd4\xcc\xd4\xa2\xe4\xf4\xbc\x92,_\xc7\x08O_O\x1fOG\xbf\xa4\xf4\xbc,\xdf\xc4\x8a\xcc\xdc\xcc\x9c\xcc\xc4\xbc\xe4\xb2\xd4\xa2TC=c=\x83\xe4\x94\xfc$\xa0/\x0c\x80\xbe\xb0\xd454\x8ep\xe8K\xf7\xf1x\xb9Q\xfc\xc2\x93\x86\x8d\xc5\x99\xba7\xb4\x98\xe4\xe7d\xder2\xd4\xd457\xd8\xd2X3a\x8a\xa8\x91\xb4e_\xe9\x8e\x9ai\xfaj=V\x17\x9c"\xcaR\xb8Um\xf2\x1dN\xdf\x96\x93xzs\xf3\xa9\xbb\x00\x1c[z\x03'

这是我的密码:

zlibdata = base45.b45decode(data1)
cbordata = zlib.decompress(zlibdata)
print(zlibdata)
print("-----------------")
compressedData = zlib.compress(cbordata)
print(compressedData)

我做错了什么


Tags: x86xa0xe2xc4x05xe4x9cxbc
1条回答
网友
1楼 · 发布于 2024-05-15 05:01:36

如果您可以解压compressedData并完全返回cbordata,那么您没有做错什么。唯一错误的是您希望获得相同的压缩数据

无损压缩器保证先压缩,然后解压,得到完全相同的结果。然而,有no的保证和no的期望,即先减压,再加压,将得到同样的结果

具有不同压缩级别或不同设置的相同压缩代码将提供不同的输出。具有相同设置的不同版本的压缩代码可以提供不同的输出。不同的压缩库将提供不同的输出

相关问题 更多 >

    热门问题