使用正则表达式解析二进制文件?

时间:2017-12-05 19:57:56

标签: python regex python-3.x

我有两个字节类型的变量,我已经连接(用空格分隔),所以我可以将它作为一个变量发送到服务器(套接字编程)。我想弄清楚的是如何将它们分开并使用正则表达式将它们分配给它们的原始变量。我已经咨询了regular expressions parsing a binary file,但它对我不起作用。尝试表达式后,Here是我的输出,只是为了得到密码变量

ciphertext = re.match(b'\S', ciphertext)

它通常只匹配前几个字符并返回一个对象,这不是我想要的。我究竟做错了什么?

编辑:我可能很难做到这一点。老实说,任何关于如何使用UDP通过套接字发送2字节对象的建议。它证明非常困难

2 个答案:

答案 0 :(得分:0)

为什么使用正则表达式来执行此操作?您应该查看struct模块:

In [1]: import struct

In [2]: magic = b'\xcf\xfa\xed\xfe'

In [3]: decoded = struct.unpack('<I', magic)[0]

In [4]: hex(decoded)
Out[4]: '0xfeedfacf'

此外,您可以使用this配方解码二进制文件

答案 1 :(得分:0)

结束使用str.rpartition来解决我的问题。不是最明显的答案,但它确实奏效了。