Python - Struct将字节解包为ascii字符,但带有重音符号

时间:2016-05-09 12:35:30

标签: python struct ascii diacritics unpack

我试图在Python中用struct.unpack()解包一些字节。

struct.unpack("xb4s", b'\x00\x04G\xe9g\xe9')

但我得到:(4, b'G\xe9g\xe9')而不是(4, Gégé)。此代码不处理重音。我该怎么办才能有重音?

1 个答案:

答案 0 :(得分:3)

您的字符串是使用cp1252编码的,因此请对其进行适当的解码。

In [3]: struct.unpack("xb4s", b'\x00\x04G\xe9g\xe9')[1].decode('cp1252')
Out[3]: 'Gégé'