串口 接收的 二进制数据: 82 30 B1 30 30 03 C3 B4
代码如下:
# 82 30 B1 30 30 03 C3 B4
data = b'\x820\xb100\x03\xc3\xb4'
print('type(data) = ', type(data))
type(data) = <class ‘bytes’>
解析
发送的时候 ,bytearray 会不会自动 转换为 bytes 类型了.
从 读串口的API中返回的是 一个 bytes 类型的数据结构
当打印 这个 bytes 类型的数据的时候,
相当于用winhex 这个工具, 查看一个图片文件,有的地方是可见字符,有个地方是不可见字符
b’\x820\xb100\x03\xc3\xb4’
<class ‘bytes’>
对应的是
\x82 0 \xb1 0 0 \x03 \xc3 \xb4
82 30 B1 30 30 03 C3 B4
bytes不可修改,bytearray可以修改
111
data = b'\x820\xb100\x03\xc3\xb4'
print('type(data) = ', type(data))
#type(data) = <class 'bytes'>
lst = list(data)
print(lst)
print(type(lst[0]))
#[130, 48, 177, 48, 48, 3, 195, 180]
#<class 'int'>
tmp = data.hex()
print(type(tmp), tmp)
# <class 'str'> 8230b1303003c3b4
strr = '8230b1303003c3b4'
num = bytes.fromhex(strr)
print(type(num), num)
# <class 'bytes'> b'\x820\xb100\x03\xc3\xb4'