2015-12-14 128 views
0

我有一個Python代碼片段是這樣的:如何從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]);

回答

1

我認爲你正在尋找的字符代碼,你可以用ord獲得,那麼你可以申請的方法打印字符代碼十六進制:

ret="#~½|" 
for c in ret: 
    print "%s - %02x" % (c,ord(c)) 

其中給出的輸出:

# - 23 
~ - 7e 
� - c2 
� - bd 
| - 7c 
4 - 34 
+0

工作!,謝謝 –