Scapy-原始层串成一个wx.文本Ctrl



我使用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:

  • https://docs.python.org/2/howto/unicode.html

您还应该查看以下文章:

  • http://wiki.wxpython.org/UnicodeBuild
  • http://kevino.theolliviers.com/python-unicode.html
  • http://zetcode.com/wxpython/in18/
  • http://wiki.wxpython.org/Internationalization

如果所有其他操作都失败了,您可以随时尝试使用以下有趣的包将unicode转换为ascii:

  • https://pypi.python.org/pypi/Unidecode

最新更新