2

私は次のことをしました。

from struct import pack, unpack
t = 1234
tt = str(pack("<I", t))

印刷ttが与え\xf3\xe0\x01\x00ます。ttt から元の値を取得するにはどうすればよいですか?

解凍して使用してみましたrepr(tt)が、うまくいきません。どうすればこれを行うことができますか?

4

3 に答える 3

7
>>> t=1234
>>> tt=pack('<I', t)
>>> tt
'\xd2\x04\x00\x00'
>>> unpack('<I', tt)
(1234,)

>>> ttt, = unpack('<I', tt) 
>>> ttt
1234
于 2011-03-26T14:42:05.937 に答える
1

シリアル化に間違ったパッケージを使用しています。このstructパッケージは、C コードとやり取りする python コードにのみ役立ちます。

文字列にシリアル化するには、pickleモジュールを使用する必要があります。

import pickle

t = 1234
tt = pickle.dumps(t)
t = pickle.loads(tt)
于 2011-03-26T14:41:55.007 に答える
1

unpack('<I', tt)を与えます(1234,)

repr文字列に引用符を追加するため、機能しません:

>>> repr('foo')
'"foo"'
于 2011-03-26T14:42:08.390 に答える