我有一个像这样的python片段:
siz=len(ret)
for i in range(0,siz-1):
print "%s " % ret[i],
当我使用%s
时它工作正常并在控制台上打印一些外星人字符!!
但是如何打印它的十六进制转储。
我试过了:
print "%02x " % ret[i],
print "%02x " % hex(ret[i]),
print format(ret[i],'02x'),
print format(hex(ret[i],'02x'),
print "%02x " % hex(int(ret[i])),
所有这些都导致错误。
类似的问题被问到here,但这些答案对我没有帮助。
我如何执行此类似c
样式printf("%02x ",ret[i]);
答案 0 :(得分:1)
我认为您正在寻找可以使用ord
获得的字符代码,然后您可以应用您的方法来打印十六进制字符代码:
ret="#~½|"
for c in ret:
print "%s - %02x" % (c,ord(c))
作为输出:
# - 23
~ - 7e
� - c2
� - bd
| - 7c
4 - 34