如何显示(编码十六进制)而不是s

2024-10-03 00:23:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我定义如下-

class PadChecksum(Packet):
    name = "PadChecksum"
    fields_desc = [ StrField("data", None) ]

conf.raw_layer = PadChecksum

如何显示如下所示?在

^{pr2}$

作为

###[ PadChecksum ]###
       data      = '00 00 00 a8 4c a8 e5'

我怎样才能更精确地显示它呢?在

###[ PadChecksum ]###
       pad      = '00 00 00'
       checksum = 'a8 4c a8 e5'

Tags: namenonelayerfieldsdataraw定义packet
1条回答
网友
1楼 · 发布于 2024-10-03 00:23:12

明白了!!在

class XStrField(StrField):
      def i2repr(self, pkt, x):
            return ' '.join(b.encode('hex') for b in x)

class PadChecksum(Packet):
    name = "PadChecksum"
    fields_desc = [ XStrField("data", None) ]

显示

^{pr2}$

相关问题 更多 >