7

这是我收到的字节,我想将字节 [5] + 字节 [6] + 字节 [7] + 字节 [8] 转换为 ASCII 可读文本。

s=b'0f0000004e52303947303531363400'

字节[5]~[8] ASCII/UNICODE 为 NR09

请帮忙谢谢。

4

2 回答 2

10
bytes.fromhex(s[4*2:8*2].decode("ascii")).decode("ascii")
//'NR09'

顺便说一句,如果您不使用Python 的转换,这会容易得多:convert a hex string

在那个问题中,您有:

b'\x0f\x00\x00\x00NR09G05164\x00'

所以你可以做

c = b'\x0f\x00\x00\x00NR09G05164\x00'
c[4:8].decode("ascii")
//'NR09'
于 2013-01-12T11:17:40.953 回答
0
rc@xxxxx:~$ python
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> s=b'0f0000004e52303947303531363400'
>>> s.decode("hex")[4:8]
'NR09'
于 2013-01-12T11:22:53.800 回答