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寫個串口通信的程序
打開串口後啟動一個線程來監聽串口數據的進入,有數據時,就做數據的處理。