首页 > 解决方案 > 将 Python 字节字符串转换为 UTF-8/ASCII

问题描述

我正在从 Python 应用程序向 USB 设备发送字节。一个示例有效载荷如下所示:

a = bytearray(b'\x00\xb4nn\x00\x00\x00\x00\x00')

我很好奇的是nn下面的部分\xb4nn- 当前形式的字符串不能转换为 UTF-8 或 ASCII。在某些有效负载情况下,该字符串也可以是\xb4n,这似乎是一种显示 HEX 信息的奇怪方式。

nn字节串中有什么?

标签: pythonstringutf-8asciidata-conversion

解决方案


可打印的 ASCII 字节值显示为 ASCII。它只是一种显示约定,类似于b指示字节字符串的前导。字节值仍然相同。例如,ASCIIn是字节值 0x6E,如果您使用这些值创建一个字节字符串,它将显示为:

>>> b'\x6e\x6e'
b'nn'

还:

>>> b'\x6e\x6e' == b'nn'
True

推荐阅读