2011-09-21 306 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)) 
相关问题