如何将字节从字符串格式化为十六进制值

2024-06-28 20:53:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读取一个二进制文件,其中包含big5编码字符。当我读一个双字节序列时,它们会以字节列表的形式出现

>>> bytes = ['0xa6', '0x7b']

如果我修改这些字符串字节:

^{pr2}$

因此,它们表现为:

>>> print big5_str
>>> '\xa6\x7b'

但是big5\u str实际上在字符串中仍然有转义“\”:

>>> big5_str
>>> '\\xa6\\x7b'

如果我用big5解码,我只得到相同的字符串(由于有双反斜杠):

>>> print byte_string.decode('big5')
>>> '\xa6\x7b'

如果我将字节序列显式编码为十六进制值:

>>> bytes2 = '\xa6\x7b'
>>> print bytes2.decode('big5')
>>> 州

我的问题是,如何读取这些字节,将它们格式化为'\x**'格式,以便使用非转义反斜杠将它们识别为字节,而不是字符串?在


Tags: 文件字符串编码字节二进制序列字符print