Python: преобразование из двоичного файла в строку
в Python я смог взять строку из 32 бит и преобразовать ее в двоичное число со следующим кодом:
def doConvert(string):
binary = 0
for letter in string:
binary <<= 8
binary += ord(letter)
return binary
Так, по строке, 'abcd'
, этот метод вернет правильное значение 1633837924, однако я не могу понять, как сделать наоборот; возьмите 32-битное двоичное число и преобразуйте его в строку.
Если кто-то может помочь, буду признателен за помощь!
1 ответов
Если вы всегда имеете дело с 32-битным целым числом, вы можете использовать struct
модуль для этого:
>>> import struct
>>> struct.pack(">I", 1633837924)
'abcd'
просто убедитесь, что вы используете тот же endianness как упаковать и распаковать в противном случае вы получите результаты, которые находятся в неправильном порядке, например:
>>> struct.pack("<I", 1633837924)
'dcba'