2011-09-21 302 views
2

我正在從Python讀取文件。我打開這個文件並使用'rb'來讀取字節。當我看到他們,說:將ASCII字符轉換爲十六進制轉義字符串

f.read(1) 

它會輸出這樣的事情

b'\x50' 

所以我的問題是,當我試圖這樣

f.read(24) 

更長的字符串我這個:

b'R\x00S\x00S\x00Q\x00S\x00O\x00N\x00P\x00S\x00M\x00R\x00P\x00 

你沒有tice那裏有ASCII個字符混入十六進制。我想讓R顯示爲\ x52。

我該怎麼做?

+1

用於什麼?它仍然是一樣的價值。 –

+0

不是當試圖將它提供給struct.unpack()時 –

+1

是的,即使如此。 '>>> b'A'== b'\ x41'''True' –

回答

6
print(''.join('\\x%02x' % c for c in B)) 
相關問題