转换为二进制数据

转换为二进制数据

如何使用Python2.6将以下PGP消息转换为二进制数据?

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.0.7 (MingW32)

hQIOA68nz9GqU7SREAgAxWfwvpziO4N6KquxmeuYD/txfTceyXRZGVqAGFUGmOdE
+K9PCLp/+p3cFC8OcOZg8WReI4wlpYzgS3/XsB4LL9MegSHwjjI9jNsnQOr9EeLA
IgDEb1NeXZ499qnSY1ZvCy/VCF1O7H71y77VQTckpfyHgWvzkaaaheMC0r+JGLZO
0w3NCTERFJ8XaXKz/+qw4gA7xxbpT9nXVXMwEwYgiAviJBJhdYw63oTlRYGgGzPh
H2YVNv2TWnpWp816xi+sbM1ZsJJERnAZSADKFYZzYw4E73VhUlrX5YBY4WN7UmQw=

-----END PGP MESSAGE-----

最佳答案

原来的答案是:这就是你想要的吗?

>>> import binascii
>>> message = '''hQIOA68nz9GqU7SREAgAxWfwvpziO4N6KquxmeuYD/txfTceyXRZGVqAGFUGmOdE
... +K9PCLp/+p3cFC8OcOZg8WReI4wlpYzgS3/XsB4LL9MegSHwjjI9jNsnQOr9EeLA
... IgDEb1NeXZ499qnSY1ZvCy/VCF1O7H71y77VQTckpfyHgWvzkaaaheMC0r+JGLZO
... 0w3NCTERFJ8XaXKz/+qw4gA7xxbpT9nXVXMwEwYgiAviJBJhdYw63oTlRYGgGzPh
... H2YVNv2TWnpWp816xi+sbM1ZsJJERnAZSADKFYZzYw4E73VhUlrX5YBY4WN7UmQw=
... '''
>>> binascii.a2b_base64(message)
'\x85\x02\x0e\x03\xaf\'\xcf\xd1\xaaS\xb4\x91\x10\x08\x00\xc5g\xf0\xbe\x9c\xe2;\x83z*\xab\xb1\x99\xeb\x98\x0f\xfbq}7\x1e\xc9tY\x19Z\x80\x18U\x06\x98\xe7D\xf8\xafO\x08\xba\x7f\xfa\x9d\xdc\x14/\x0ep\xe6`\xf1d^#\x8c%\xa5\x8c\xe0K\x7f\xd7\xb0\x1e\x0b/\xd3\x1e\x81!\xf0\x8e2=\x8c\xdb\'@\xea\xfd\x11\xe2\xc0"\x00\xc4oS^]\x9e=\xf6\xa9\xd2cVo\x0b/\xd5\x08]N\xec~\xf5\xcb\xbe\xd5A7$\xa5\xfc\x87\x81k\xf3\x91\xa6\x9a\x85\xe3\x02\xd2\xbf\x89\x18\xb6N\xd3\r\xcd\t1\x11\x14\x9f\x17ir\xb3\xff\xea\xb0\xe2\x00;\xc7\x16\xe9O\xd9\xd7Us0\x13\x06 \x88\x0b\xe2$\x12au\x8c:\xde\x84\xe5E\x81\xa0\x1b3\xe1\x1ff\x156\xfd\x93ZzV\xa7\xcdz\xc6/\xacl\xcdY\xb0\x92DFp\x19H\x00\xca\x15\x86sc\x0e\x04\xefuaRZ\xd7\xe5\x80X\xe1c{Rd0'

2016年编辑:最初的答案来自2011年。如注释部分所述,curren推荐的API如下所示:
>>> message = '''
... hQIOA68nz9GqU7SREAgAxWfwvpziO4N6KquxmeuYD/txfTceyXRZGVqAGFUGmOdE
... +K9PCLp/+p3cFC8OcOZg8WReI4wlpYzgS3/XsB4LL9MegSHwjjI9jNsnQOr9EeLA
... IgDEb1NeXZ499qnSY1ZvCy/VCF1O7H71y77VQTckpfyHgWvzkaaaheMC0r+JGLZO
... 0w3NCTERFJ8XaXKz/+qw4gA7xxbpT9nXVXMwEwYgiAviJBJhdYw63oTlRYGgGzPh
... H2YVNv2TWnpWp816xi+sbM1ZsJJERnAZSADKFYZzYw4E73VhUlrX5YBY4WN7UmQw=
... '''
>>> import base64
>>> base64.b64decode(message)
b'\x85\x02\x0e\x03\xaf\'\xcf\xd1\xaaS\xb4\x91\x10\x08\x00\xc5g\xf0\xbe\x9c\xe2;\x83z*\xab\xb1\x99\xeb\x98\x0f\xfbq}7\x1e\xc9tY\x19Z\x80\x18U\x06\x98\xe7D\xf8\xafO\x08\xba\x7f\xfa\x9d\xdc\x14/\x0ep\xe6`\xf1d^#\x8c%\xa5\x8c\xe0K\x7f\xd7\xb0\x1e\x0b/\xd3\x1e\x81!\xf0\x8e2=\x8c\xdb\'@\xea\xfd\x11\xe2\xc0"\x00\xc4oS^]\x9e=\xf6\xa9\xd2cVo\x0b/\xd5\x08]N\xec~\xf5\xcb\xbe\xd5A7$\xa5\xfc\x87\x81k\xf3\x91\xa6\x9a\x85\xe3\x02\xd2\xbf\x89\x18\xb6N\xd3\r\xcd\t1\x11\x14\x9f\x17ir\xb3\xff\xea\xb0\xe2\x00;\xc7\x16\xe9O\xd9\xd7Us0\x13\x06 \x88\x0b\xe2$\x12au\x8c:\xde\x84\xe5E\x81\xa0\x1b3\xe1\x1ff\x156\xfd\x93ZzV\xa7\xcdz\xc6/\xacl\xcdY\xb0\x92DFp\x19H\x00\xca\x15\x86sc\x0e\x04\xefuaRZ\xd7\xe5\x80X\xe1c{Rd0'

关于python - 将ASCII铠装输出转换为二进制数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8220290/

10-11 14:36