作者balaid (芭樂ID)
看板Python
標題[問題] ser.read Hex和 ascii 亂碼
時間Wed Jan 24 10:36:56 2018
最近自學在玩 MCU 連接 Python 3.6
利用 Tkiner 來做一個介面
做介面部分都很順手 但是遇到資料處理時 就卡死
我是從 MCU 利用 ser.readline() 讀取 RS232 轉 USB 的資料
讀到的資料是
b'\x01\x03\x15\x02\x06(\xb1\x00\x03-6\x01\x08\x01\xc5X\00\xb6'
理論上要是 01-03-15-02...... 的格式
不會出現 "(" "5" "X" 這樣的碼
爬文後試過利用 struct decode 型態轉換都出現不同型態的資料
甚至一直出現錯誤
也嘗試用 list 處理 還是錯誤的讀取值
了解後是Python 自動編碼成 ascii
想詢問一下高手 還有甚麼方向可以處理這樣的情形
或是說 我能夠讓 PYTHON 不要幫我編碼
能夠直接讀取資料
再麻煩鄉民給我一個方向
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.76.93.185
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1516761418.A.F47.html
→ mikapauli: bytes本身就是你說那樣,看到的亂碼只是representation 01/24 11:04
→ mikapauli: 要好看的話tuple(b'...')或list(b'...')都可以 01/24 11:06
推 ckc1ark: b'...' 不是ascii 就是純粹的bytes 01/24 11:09