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

例如

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

结果:

b'X\x01'

我想打印

b'\x58\x01'

怎么格式化输出?

阅读 17.4k
2 个回答
''.join(map(lambda x:('/x' if len(hex(x))>=4 else '/x0')+hex(x)[2:],a))
def trans(s):
    return "b'%s'" % ''.join('\\x%.2x' % x for x in s)

print(trans(b'\x58\x01'))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题