search

Home  >  Q&A  >  body text

python 如何打印bytes以16进制输出

例如

a=b'\x58\x01'
print(a)

结果:

b'X\x01'

我想打印

b'\x58\x01'

怎么格式化输出?

迷茫迷茫2785 days ago917

reply all(2)I'll reply

  • 黄舟

    黄舟2017-04-18 10:28:57

    ''.join(map(lambda x:('/x' if len(hex(x))>=4 else '/x0')+hex(x)[2:],a))

    reply
    0
  • 高洛峰

    高洛峰2017-04-18 10:28:57

    def trans(s):
        return "b'%s'" % ''.join('\\x%.2x' % x for x in s)
    
    print(trans(b'\x58\x01'))

    reply
    0
  • Cancelreply