2016-07-15 63 views
0

在Python2一个可能:Python3字符串表示

>>> struct.pack(">f", 125.4) 
>>> 'B\xfa\xcc\xcd' 

我怎样才能得到Python3相同的字符串?我尝试了不同的编码,但可以准确得到它。

+0

你不想只是删除前导零? Python3给出** b“\ x00 \ x00 \ x00 \ x00 \ xcd \ xcc \ xfa8”** – UpmostScarab

+0

我不知道您输入的是什么样的包格式,但我不认为这是我上面显示的内容。但即使如此,你显示字节,我想要一个字符串。 –

回答

0

我能够通过使用'latin1'编码解码字节来获得正确的字符串。它在Python3控制台中看起来与在Python2控制台中看起来不一样,但程序解释的是相同的。

Python2:

>>> struct.pack(">f", 125.4) 
'B\xfa\xcc\xcd' 

Python3:

>>> b = struct.pack(">f", 125.4) 
>>> b.decode("latin1") 
<something that cannot be pasted>