[英]python pack output in string format
我做了以下事情。
from struct import pack, unpack
t = 1234
tt = str(pack("<I", t))
打印tt給出\\xf3\\xe0\\x01\\x00
。 如何從tt獲得t
原始值?
我嘗試使用解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"'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.