Python 通过内置类型bytearray存储二进制数据,相当于C语言中的char类型。

(1)应用场景:

  二进制类型在一些基于内存数据块操作,比如串口通信,网络通信等。

(2)特性:

  bytearray每一个元素存储一个字节(0x00~0xff 或者 0 ~ 256)。

  不同于字符串str,bytearray中的元素可以修改。

  bytearray中每一个元素的值为ASCII码对应的值。

(3)基础操作:

# 创建一个二进制串,并赋值
b = bytearray([0x44, 0x4C, 0x4a, 0x26])
print b         # 输出对应ASCII字符串--> DLJ&

# 添加一个元素
b.append(0x3A)
print b        # 输出对应ASCII字符串--> DLJ&:

# 创建一个8字节空间,赋空值
b = bytearray(8)
print len(b)    # 输出 --> 8

# 给b设置值
b[0] = 0x44
b[1] = 0x4d
print b        # DM

# 以字符串创建一个二进制
b = bytearray('abc')
# 修改字符串值
b[1] = ord('R')
print b         # 输出 --> aRc

# 通过16进制字符串构建二进制
b = bytearray.fromhex('444c')
print b         # 输出 --> DL

# 二进制字符串转换为int,一个int为4字节,需要通过struct模块转换
import struct
b = bytearray([0x01, 0x02, 0x03, 0x04])
print struct.unpack('i', b)     # 输出(67305985,)

 

posted on 2020-08-27 22:45  lwp-boy  阅读(3406)  评论(0编辑  收藏  举报