如何在Python中解析二进制格式字符串

如何在Python中解析二进制格式字符串,python,Python,我有一个二进制格式的gzip数据,我使用python通过以下方式读取它: file = gzip.open('test.gz','r') line = file.readline() 然后该行采用以下格式: '\xd7\xa3p]\x81@tB Z\x00\x00\x00\x00\xc1g\xef\xa3\x8aE\x13AAPL\x00\x00\x00\x00\x1f\x85\xebQ\xb8Z\x81@tS \n' 我知道的是,对于每条线,第一个字节应该是1字节字符串,第二个字节是字

我有一个二进制格式的gzip数据,我使用python通过以下方式读取它:

file = gzip.open('test.gz','r')
line = file.readline()
然后该行采用以下格式:

'\xd7\xa3p]\x81@tB  Z\x00\x00\x00\x00\xc1g\xef\xa3\x8aE\x13AAPL\x00\x00\x00\x00\x1f\x85\xebQ\xb8Z\x81@tS  \n'

我知道的是,对于每条线,第一个字节应该是1字节字符串,第二个字节是字符串,第三个字节是整数。那么我应该如何处理二进制格式的字符串来解码我想要的信息呢?谢谢

它不是二进制的,而是unicode文本。示例只需打印x.encode'utf-8',其中x=u'\xd7\xa3p]\x81@tBZ\x00\x00\x00\x00\xc1g\xef\xa3\x8aE\x13AAPL\x00\x00\x00\x1f\x85\xebQ\xb8Z\x81@tS\n'Hi,我按你说的做了尝试,但有一个例外是:UnicodeDecodeError:“ascii”编解码器无法解码0:ordinal位置的字节0xd7不在范围128你注意到字符串周围的u了吗,这表示它是一个unicode,而不是stringHi,我还是不明白。我看到的变量行是一个字符串,周围没有u。如何将变量行转换为您的格式?@user2970089文件中的数据是什么,或者从何处获取?