Я сделал следующее.
from struct import pack, unpack t = 1234 tt = str(pack("<I", t))
печать тт дает \xf3\xe0\x01\x00. Как я могу получить исходное значение t от tt?
\xf3\xe0\x01\x00
t
Я попытался распаковать repr(tt), но это не сработало. Как мне это сделать?
repr(tt)
>>> t=1234 >>> tt=pack('<I', t) >>> tt '\xd2\x04\x00\x00' >>> unpack('<I', tt) (1234,) >>> ttt, = unpack('<I', tt) >>> ttt 1234
unpack('<I', tt) даст вам (1234,).
unpack('<I', tt)
(1234,)
repr не работает, так как добавляет кавычки в строку:
repr
>>> repr('foo') '"foo"'
вы используете неправильный пакет для сериализации. пакет struct полезен только для кода Python, который взаимодействует с кодом Си.
struct
для сериализации в строку, вы должны использовать модуль pickle .
pickle
import pickle t = 1234 tt = pickle.dumps(t) t = pickle.loads(tt)