将 Python 字节字符串转换为 UTF-8/ASCII
Converting Python byte string to UTF-8/ASCII
我正致力于从 Python 应用程序向 USB 设备发送字节。示例负载如下所示:
a = bytearray(b'\x00\xb4nn\x00\x00\x00\x00\x00')
我很好奇的是 nn
部分,在 \xb4nn
之后 - 当前形式的字符串无法转换为 UTF-8 或 ASCII。在某些负载情况下,该字符串也可以是 \xb4n
,这似乎是一种表示 HEX 信息的奇怪方式。
字节串中的nn
是什么?
可打印的 ASCII 字节值显示为 ASCII。它只是一种显示约定,类似于前导b
表示一个字节串。字节值仍然相同。例如,ASCII n
是字节值 0x6E,如果用这些值创建一个字节串,它将显示为:
>>> b'\x6e\x6e'
b'nn'
另外:
>>> b'\x6e\x6e' == b'nn'
True
我正致力于从 Python 应用程序向 USB 设备发送字节。示例负载如下所示:
a = bytearray(b'\x00\xb4nn\x00\x00\x00\x00\x00')
我很好奇的是 nn
部分,在 \xb4nn
之后 - 当前形式的字符串无法转换为 UTF-8 或 ASCII。在某些负载情况下,该字符串也可以是 \xb4n
,这似乎是一种表示 HEX 信息的奇怪方式。
字节串中的nn
是什么?
可打印的 ASCII 字节值显示为 ASCII。它只是一种显示约定,类似于前导b
表示一个字节串。字节值仍然相同。例如,ASCII n
是字节值 0x6E,如果用这些值创建一个字节串,它将显示为:
>>> b'\x6e\x6e'
b'nn'
另外:
>>> b'\x6e\x6e' == b'nn'
True