解码Python二进制数据:解码

问题描述 投票:0回答:1

我有一个二进制数据片段,我正在努力解码。该数据似乎不是标准文本编码,并且我没有有关所使用的编码或格式的任何具体信息。我尝试过各种常见的文本编码,如 UTF-8、UTF-16 等,但没有成功。

这是我试图解码的二进制数据:

b'v10.\xc0`\x03\xa6\xd4Z%\xe5\xc8\xe3_K\xd3\xba\xc2h\x01\x93y?\x923\x8cE~Y\xccw\x7f\x8a\xce\xff\x02 \xea\xce^\xfb\x02'

我怀疑这些数据可能与 SQL 数据有关,但我不确定如何解释它。

我期望成功地将二进制数据解码为可读的文本格式。理想情况下,我想了解数据的含义和结构。

有人可以提供有关如何在编码未知时解码此类二进制数据的指导吗?我可以使用哪些工具或方法来识别正确的编码或格式,或者我可以提供任何其他信息来获得更有针对性的帮助吗?

如有任何帮助或建议,我们将不胜感激。谢谢!

javascript python encryption binary decode
1个回答
0
投票

您可以使用 struct 模块来解压格式化的二进制数据。

例如这个:


import struct

data = b'v10.\xc0`\x03\xa6\xd4Z%\xe5\xc8\xe3_K\xd3\xba\xc2h\x01\x93y?\x923\x8cE~Y\xccw\x7f\x8a\xce\xff\x02\xea\xce^\xfb\x02'

# Extract float values from binary data 
print(struct.unpack('<f', data[0:4])) 
print(struct.unpack('<f', data[4:8]))

# Extract short integer values
print(struct.unpack('<h', data[8:10]))
print(struct.unpack('<h', data[10:12]))

# Extract byte values
print(data[12])  
print(data[13])

给出了这个:

(4.006169701531448e-11,)
(-4.558087577082731e-16,)
(23252,)
(-6875,)
200
227

但是您需要了解您期望从数据中得到什么才能正确解包......

© www.soinside.com 2019 - 2024. All rights reserved.