我想从 bin 文件中打开一些数据
import io
data=io.open('bpsk_2m_b11.rd16','rb').read()
print (data)
但是似乎有一些 ASCII 符号,例如(我的意思是“{”和“k”、“w”)
b'\xde{\x1d\x86\xa0\x81kw\xbc\x8a'
我对整个格式设置没问题,但是如何用十六进制替换这些 ASCII 符号?或者我应该使用其他模式来读取这个文件?
最佳答案
一切正常,b'{'
只是b'\x7b'
的另一种编写方式:
>>> b'{' == b'\x7b'
True
您可以使用以下辅助方法创建仅包含转义符的字符串:
import binascii
def to_byte_escapes(b):
return ''.join('\\x' + binascii.hexlify(byte) for byte in b)
然后你会得到:
>>> print(to_byte_escapes(b'\xde{\x1d\x86\xa0\x81kw\xbc\x8a'))
\xde\x7b\x1d\x86\xa0\x81\x6b\x77\xbc\x8a
关于python - 打开bin文件并将ascii转换为hex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13400371/