pythonbinascii
A. python 读取图片 结果是乱码
如果你要是想显示为16进制的话,自己可以转化一下:
importbinascii
printbinascii.b2a_hex(a)
或者更加友好些
count=1
for空春iina:
ifcount%16!=0:
print'%s'%binascii.b2a_hex(a),斗梁耐
else:
print''
渣辩count+=1
这样就能打印成“不是乱码”了。
不能理解的问题:显示为乱码这有什么关系吗?
B. python3 16进制字符串、列表、字符串之间的转换
在Python操作数据内容时,多数情况下可能遇到下面3种类型的数据处理:
hexstring 如:ƇC532145697A8B6F'
str 如:'x1Cx53x21x45x69x7Ax8Bx6F'
list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]
各种第三方模块(如pyDes),或者自己写的接口中,可能存在由于类型不统一需要在这3种数据中来回切换的情况。
需要用到的核心的方法如下:
list() 将对象转换为list
str() 将对象转换为str
bytearray() 将对象转换为bytearray
bytearray.fromhex() 将对象从hexstring转换为bytearray
binascii.b2a_hex() 将对象从str转换为hexstring
如:[0x53, 0x21, 0x6A] -> 'x53x21x6a'
方法:list -> bytearray -> str
如:'x53x216a' -> [0x53, 0x21, 0x6A]
方法:逐个字符转成十进制
如: [0x53, 0x21, 0x6A] -> A'
方法:list -> bytearray -> str -> hexstring
如: A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list
如: A' -> 'x53x21x6A'
方法:hexstring -> bytearray -> str
以上内容转自: https://blog.csdn.net/diaoxuesong/article/details/72123415#
C. 如何用python写个串口通信的程序
打开串口后启动一个线程来监听串口数据的进入,有数据时,就做数据的处理。