python - 打开bin文件并将ascii转换为hex

标签 python io python-3.x binary

我想从 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/

相关文章:

python-3.x - 在Python中,在迭代器中写入文件时控制字符串格式

python - 查找目录位置 'x' 目录数向上

python - 如何使用 Telethon 在 Telegram 中搜索组和 channel ?

java - 如何在Java中更改一个文件,同时保持另一个硬链接(hard link)中的内容不变?

c - 如何确定外围设备的端口号?

python - 如何修复在两列中查找相同日期并根据相同日期连接两个数据帧的行

python - 如何同时绘制不同产品的时间序列图?

python - 在 Python : Given an original array of numbers, 中,我将如何创建一个包含特定范围内原始数组值的新数组?

python - 使用 Google App Engine Python 2.7 在 Django 1.2 中自定义标签

python - 迭代sqlalchemy模型的定义列的方法?