[問題] ser.read Hex和 ascii 亂碼

看板Python作者 (芭樂ID)時間7年前 (2018/01/24 10:36), 編輯推噓1(102)
留言3則, 2人參與, 7年前最新討論串1/1
最近自學在玩 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

01/24 11:04, 7年前 , 1F
bytes本身就是你說那樣,看到的亂碼只是representation
01/24 11:04, 1F

01/24 11:06, 7年前 , 2F
要好看的話tuple(b'...')或list(b'...')都可以
01/24 11:06, 2F

01/24 11:09, 7年前 , 3F
b'...' 不是ascii 就是純粹的bytes
01/24 11:09, 3F
文章代碼(AID): #1QP_5Az7 (Python)
文章代碼(AID): #1QP_5Az7 (Python)