Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “sss”的目的。解码(“base64”)。解码(“zlib”)'_Python - Fatal编程技术网

Python “sss”的目的。解码(“base64”)。解码(“zlib”)'

Python “sss”的目的。解码(“base64”)。解码(“zlib”)',python,Python,我的代码: ACTIVATE_THIS = """ eJx1UsGOnDAMvecrIlYriDRlKvU20h5aaY+teuilGo1QALO4CwlKAjP8fe1QGGalRoLEefbzs+Mk Sb7NcvRo3iTcoGqwgyy06As+HWSNVciKaBTFywYoJWc7yit2ndBVwEkHkIzKCV0YdQdmkvShs6YH E3IhfjFaaSNLoHxQy2sLJrL0ow98JQmEG/rAYn7OobVGogngBgf0P0hjgwgt7HOUaI5DdB

我的代码:

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")
我认为“打印a”将a编码为“uhf-8”。 因此:


字符串中的数据是经过编码和压缩的二进制数据。.decodebase64.decodezlib对其进行取消编码和解压缩


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

字符串中的数据是经过编码和压缩的二进制数据。.decodebase64.decodezlib对其进行取消编码和解压缩

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

.decode“base64”只能在编码为base-64的字符串上调用,以便检索编码的字节序列。在您带来的示例中,可能字节序列是经过zlib压缩的,因此.decode'zlib'部分对其进行解压缩

现在,对于您的情况:

#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
但是'v\xcv'不是zlib压缩字符串!当然,你不能要求zlib解压。幸运的是,zlib认识到,将zlib知道的任何压缩算法应用于任何输入都不可能产生“v\xcv”,因此它会向您提供一条有用的错误消息,而不是一个随机的字节字符串,如果您随机提供了一个不同但同样疯狂的输入字符串,您可能会得到它-

编辑:中的错误

>>> 'dsss'.decode('base64')
'v\xcb,'
很明显,这是由于字符串是不可变的:仅调用a.encode或任何其他方法都不会改变a,它会生成一个新的字符串对象,在这里您只需打印它

在下一个片段中,错误只出现在OP的脑海中:

a.encode('base64')
print a
a.decode('base64')#error
“为什么不能打印”这个问题确实很奇怪,适用于打印“dsss”的代码。最后,

我认为“打印a”编码的是a 带有“uhf-8”

你想错了:没有uhf-8这类东西,你是说utf-8可能吗?而且无论如何,打印a不会改变a,就像调用a.encode一样。

.decode'base64'只能在编码为base-64的字符串上调用,以便检索编码的字节序列。在您带来的示例中,可能字节序列是经过zlib压缩的,因此.decode'zlib'部分对其进行解压缩

现在,对于您的情况:

#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
但是'v\xcv'不是zlib压缩字符串!当然,你不能要求zlib解压。幸运的是,zlib认识到,将zlib知道的任何压缩算法应用于任何输入都不可能产生“v\xcv”,因此它会向您提供一条有用的错误消息,而不是一个随机的字节字符串,如果您随机提供了一个不同但同样疯狂的输入字符串,您可能会得到它-

编辑:中的错误

>>> 'dsss'.decode('base64')
'v\xcb,'
很明显,这是由于字符串是不可变的:仅调用a.encode或任何其他方法都不会改变a,它会生成一个新的字符串对象,在这里您只需打印它

在下一个片段中,错误只出现在OP的脑海中:

a.encode('base64')
print a
a.decode('base64')#error
“为什么不能打印”这个问题确实很奇怪,适用于打印“dsss”的代码。最后,

我认为“打印a”编码的是a 带有“uhf-8”

你想错了:没有uhf-8,你是说可能有utf-8?而且不管怎样,打印a不会改变a,就像调用a.encode一样。

它与:

>>> a='dsss'
>>> a=a.encode('zlib')
>>> print a
x?K)..F?
>>> a=a.decode('zlib')
>>> print a#why can't print 'dsss'
dsss
>>> 
zlib是一种二进制压缩算法。base64是二进制数据的文本编码,可用于通过SMTP等文本协议发送二进制消息

从base64解码“dsss”后,三个字节76h、CBh、2Ch,结果是无效的zlib压缩数据,因此无法解码

请尝试打印此文件以查看解码结果。它原来是一些Python代码。

它与以下代码相反:

>>> a='dsss'
>>> a=a.encode('zlib')
>>> print a
x?K)..F?
>>> a=a.decode('zlib')
>>> print a#why can't print 'dsss'
dsss
>>> 
zlib是一种二进制压缩算法。base64是二进制数据的文本编码,可用于通过SMTP等文本协议发送二进制消息

从base64解码“dsss”后,三个字节76h、CBh、2Ch,结果是无效的zlib压缩数据,因此无法解码

请尝试打印此文件以查看解码结果。原来是一些Python代码。

解码“base64”的目的是什么。在sss、dsss、随机垃圾中为x解码“zlib”?对不起,你应该知道;是你干的

在OP添加各种谜题后编辑

难题1

决议:表格中的所有3项声明

a、 XXcode“编码”

应该是

a=a.XXcode“编码”

难题2

但它会打印“dsss”:

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

x\x9cK)..
谜题3

我认为“打印a”将a编码为“uhf-8”

解决方案:你的想法非常错误。印刷品后面是一个表达式。没有这种副作用。当你这样做时,你会想到什么:

>>> a='dsss'
>>> a=a.encode('zlib')
>>> print a
x£K)..♠ ♦F☺¥
>>> a=a.decode('zlib')
>>> print a#why can't print 'dsss'
dsss
>>>
?

如果你打印两次,你认为会发生什么?重新编码已编码的文本?你为什么不停止 p想象并尝试一下

在任何情况下,请注意str.encode'zlib'的输出是一个str对象,而不是unicode对象:

print 'start text ' + a + 'end text'
从那到UTF-8将会有点困难。。。它必须先被解码成unicode——用什么编解码器?ascii和utf8将在“\x9c”和“\xbe”上遇到问题,…

解码“base64”的目的是什么。在sss、DSS、随机垃圾中为x解码“zlib”?对不起,你应该知道;是你干的

在OP添加各种谜题后编辑

难题1

决议:表格中的所有3项声明

a、 XXcode“编码”

应该是

a=a.XXcode“编码”

难题2

但它会打印“dsss”:

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

x\x9cK)..
谜题3

我认为“打印a”将a编码为“uhf-8”

解决方案:你的想法非常错误。印刷品后面是一个表达式。没有这种副作用。当你这样做时,你会想到什么:

>>> a='dsss'
>>> a=a.encode('zlib')
>>> print a
x£K)..♠ ♦F☺¥
>>> a=a.decode('zlib')
>>> print a#why can't print 'dsss'
dsss
>>>
?

如果你打印两次,你认为会发生什么?重新编码已编码的文本?你为什么不停止想象并尝试一下呢

在任何情况下,请注意str.encode'zlib'的输出是一个str对象,而不是unicode对象:

print 'start text ' + a + 'end text'

从那到UTF-8将会有点困难。。。它必须先被解码成unicode——用什么编解码器?ascii和utf8将在“\x9c”和“\xbe”中遇到问题,…

导入zlib;打印'dsss'。encodezlib.encodebase64'eJxLKS4uBgAERgG+\n'@Joel,你将'dsss'传递给编码器,而不是解码器。我认为这是重点-Joel显示了你必须传递给的内容。decodebase64.decodezlib才能找回'dsss'。克里斯蒂安:这与此无关;乔尔本可以写出同样效果的印刷品1+12;打印'dsss'。encodezlib.encodebase64'eJxLKS4uBgAERgG+\n'@Joel,你将'dsss'传递给编码器,而不是解码器。我认为这是重点-Joel显示了你必须传递给的内容。decodebase64.decodezlib才能找回'dsss'。克里斯蒂安:这与此无关;乔尔本可以用同样的效果写出印刷体1+12。嗨,亚历克斯,我改了问题,帮我看一下。嗨,亚历克斯,我改了问题,帮我看一下。语言障碍。他不是以英语为母语的人,这使得他的问题很难从字面上理解/@崔维斯:巧合,不是原因,伊姆霍。没有任何合理问题的痕迹,比如我运行了该代码并生成了一些Python源代码;作者为什么要这样做?在你把X语言误译成英语后留下来。语言障碍。他不是以英语为母语的人,这使得他的问题很难从字面上理解/@崔维斯:巧合,不是原因,伊姆霍。没有任何合理问题的痕迹,比如我运行了该代码并生成了一些Python源代码;作者为什么要这样做?在你假定的从X语言到英语的误译后留下。