Scapy - 原始层到字符串并进入 wx.TextCtrl

Scapy - Raw layer to string and into a wx.TextCtrl

我正在使用 scapy 显示数据包的所有层,当数据包具有 UDP 层和 Raw 时,它有时会给我一个“UnicodeDecodeError:'charmap' 编解码器无法解码字节...”我不知道该怎么办..帮助? 这是造成麻烦的代码行:

 self.txt.SetValue(str(pkt.getlayer(Raw).load))

我需要一种在 TextCtrl 中显示原始数据的方法。

尝试将数据作为 unicode 而不是字符串传递:

self.txt.SetValue(u'%s' % (pkt.getlayer(Raw).load))

如果这不起作用我也不会太惊讶,所以一定要阅读 Python:

中的如何使用 unicode

您还应该查看以下文章:

如果一切都失败了,您可以随时尝试使用这个有趣的包将 unicode 转换为 ascii: