我必须在Python中将值'9DAFF2834DDD73C18D79E31DE22F0D49DF13E525D3FFAE599530BECCD1B916FF'
解码为十六进制:
为此我正在做
>>> import binascii
>>>
>>> binascii.unhexlify('9DAFF2834DDD73C18D79E31DE22F0D49DF13E525D3FFAE599530BECCD1B916FF')
>>>'\x9d\xaf\xf2\x83M\xdds\xc1\x8dy\xe3\x1d\xe2/\rI\xdf\x13\xe5%\xd3\xff\xaeY\x950\xbe\xcc\xd1\xb9\x16\xff'
但是,postgres 的值(value)是:
>>> db=> select decode('9DAFF2834DDD73C18D79E31DE22F0D49DF13E525D3FFAE599530BECCD1B916FF','hex') as sha;
输出为:
>>> \235\257\362\203M\335s\301\215y\343\035\342/\015I\337\023\345%\323\377\256Y\2250\276\314\321\271\026\377
Python 中是否有任何等效项可以提供与 Postgres 中相同的结果(Postgres 输出是字节)?
最佳答案
无意冒犯,但它们是完全相同的。一个是八进制,另一个是十六进制。
>>> '\235\257\362\203M\335s\301\215y\343\035\342/\015I\337\023\345%\323\377\256Y\2250\276\314\321\271\026\377'
'\x9d\xaf\xf2\x83M\xdds\xc1\x8dy\xe3\x1d\xe2/\rI\xdf\x13\xe5%\xd3\xff\xaeY\x950\xbe\xcc\xd1\xb9\x16\xff'
关于python - 在 Python 中解码二进制值,这将给出与 Postgres 解码相同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16608769/