【发布时间】:2013-09-11 20:54:51
【问题描述】:
我正在尝试拆分这个 udp 数据包,我想要特定的数据包包含“xx ff”
0000 xx ff 3a 31 89 c3 ff 00 58 00 20 41 aa aa 03 00 >.:1....X. A....
0010 02 de 01 11 05 00 02 00 00 ff 3c ff 00 00 34 2d .........K<....-
0020 00 44 00 00 00 00 00 00 0a x3 00 01 00 60 00 00 ................
0030 00 00 89 70 62 00 02 00 00 76 98 05 8b ..i.b....v...
所以:
if '0 ' in line:print line;
line = line.split('0 ')[1]
产量:
0000 xx ff 3a 31 89 c3 ff 00 58 00 20 41 aa aa 03 0 >.:1....X. A....
0010 02 de 01 11 05 00 02 00 00 ff 3c ff 00 00 34 2d .........K<....-
0020 00 44 00 00 00 00 00 00 0a x3 00 01 00 60 00 0 ................
0030 00 00 89 70 62 00 02 00 00 76 98 05 8b ..i.b....v...\
每行缺少一个尾随零
【问题讨论】:
-
既然可以用 Python 解析二进制数据,为什么还要处理另一个程序的输出?
-
@user2246674:小心,Python 的
re.split()不适用于零长度匹配(如在前瞻中)。 -
@TimPietzcker 哎呀:> 希望链接的答案(或此处的答案)能正确拼写所有内容。
-
在十六进制转储中
xx是什么意思?
标签: python