【问题标题】:Display bytearray in a neat readable hex format以整洁易读的十六进制格式显示字节数组
【发布时间】:2021-09-18 11:38:08
【问题描述】:

如果我有一个字节数组

aaa=b'\x02\xc0\x00\x48\x04'

我想以十六进制显示,它会将字节显示为

b'\x02\xc0\x00H\x04'

是十六进制和 ASCII 字符的混合。数组太大时读取不整齐。

我使用的命令是

print(' '.join(hex(n) for n in aaa))

输出是

0x2 0xc0 0x0 0x48 0x4

这和我的理想表现还是不一样:

02 C0 00 48 04

我怎样才能做到这一点?

【问题讨论】:

  • 一个选项:" ".join(f"{a:02X}" for a in aaa)
  • @JohnnyMopp,是的,它有效
  • 其他选项aaa.hex(' ').upper()

标签: python arrays python-3.x


【解决方案1】:

感谢@furas。 解决办法是

aaa.hex(' ').upper()

结果是

'02 C0 00 48 04'

【讨论】:

    【解决方案2】:

    你可以格式化字符串:

    ' '.join(f'{:02X}' for n in aaa)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-14
      • 2013-10-22
      • 1970-01-01
      • 2015-01-13
      • 2015-08-08
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      相关资源
      最近更新 更多