Python 用正则表达式解析二进制文件?
我已经连接了两个字节类型的变量(用空格分隔),所以我可以将它作为一个变量发送到服务器(套接字编程)。我想弄清楚的是,如何将它们分开,并使用正则表达式将它们赋给它们的原始变量。我已经咨询过了,但这对我不起作用。是我尝试表达式后的输出,以便获得密码变量Python 用正则表达式解析二进制文件?,python,regex,python-3.x,Python,Regex,Python 3.x,我已经连接了两个字节类型的变量(用空格分隔),所以我可以将它作为一个变量发送到服务器(套接字编程)。我想弄清楚的是,如何将它们分开,并使用正则表达式将它们赋给它们的原始变量。我已经咨询过了,但这对我不起作用。是我尝试表达式后的输出,以便获得密码变量 ciphertext = re.match(b'\S', ciphertext) 它通常只匹配前两个字符并返回一个对象,这不是我想要的。我做错了什么 编辑:我可能做得很辛苦。老实说,关于如何使用UDP通过套接字发送2字节对象的任何建议。这真的很难为
ciphertext = re.match(b'\S', ciphertext)
它通常只匹配前两个字符并返回一个对象,这不是我想要的。我做错了什么
编辑:我可能做得很辛苦。老实说,关于如何使用UDP通过套接字发送2字节对象的任何建议。这真的很难为什么要用正则表达式来做这件事?。您应该看看该模块: [1]中的
:导入结构
在[2]中:magic=b'\xcf\xfa\xed\xfe'
在[3]中:decoded=struct.unpack(“最终使用str.rpartition来解决我的问题。这不是最明显的答案,但它起到了作用。请在问题中包含您的输出,而不是作为屏幕截图的链接。但总而言之,您获得对象的原因是因为re.match
返回的内容。它会返回一个match对象
(如果字符串不匹配,则为None
)这允许您处理匹配的文本。我不完全确定您希望该调用做什么。我可以使用structs将两个字节的对象组合成一个变量,然后可以重新分离吗?如果我可以从每个变量复制整个值并将其放入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'