私は次のことをしました。
from struct import pack, unpack
t = 1234
tt = str(pack("<I", t))
印刷ttが与え\xf3\xe0\x01\x00
ます。t
tt から元の値を取得するにはどうすればよいですか?
解凍して使用してみましたrepr(tt)
が、うまくいきません。どうすればこれを行うことができますか?
>>> t=1234
>>> tt=pack('<I', t)
>>> tt
'\xd2\x04\x00\x00'
>>> unpack('<I', tt)
(1234,)
>>> ttt, = unpack('<I', tt)
>>> ttt
1234
シリアル化に間違ったパッケージを使用しています。このstruct
パッケージは、C コードとやり取りする python コードにのみ役立ちます。
文字列にシリアル化するには、pickle
モジュールを使用する必要があります。
import pickle
t = 1234
tt = pickle.dumps(t)
t = pickle.loads(tt)
unpack('<I', tt)
を与えます(1234,)
。
repr
文字列に引用符を追加するため、機能しません:
>>> repr('foo')
'"foo"'