Python:从二进制转换为String

时间:2015-11-18 00:10:36

标签: python python-2.x

在Python中,我已经能够接收一个32位的字符串,并使用以下代码将其转换为二进制数:

def doConvert(string):
    binary = 0
    for letter in string:
        binary <<= 8
        binary += ord(letter)

    return binary

因此对于字符串'abcd',此方法将返回正确的值1633837924,但是我无法弄清楚如何执行相反的操作;接受32位二进制数并将其转换为字符串。

如果有人可以提供帮助,我将非常感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

如果您总是处理32位整数,可以使用https://futurestud.io/blog/retrofit-2-log-requests-and-responses/模块执行此操作:

>>> import struct
>>> struct.pack(">I", 1633837924)
'abcd'

请确保您使用相同的struct进行打包和解包,否则您将获得错误顺序的结果,例如:

>>> struct.pack("<I", 1633837924)
'dcba'