您好,登錄后才能下訂單哦!
這篇文章主要介紹了python中如何解決serial與stm32通信的編碼問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
使用環境:
ubuntu18.04
python3.65
問題點:
使用pyserial與stm32通信,使用如下形式的編碼進行write
(input_s + '\r\n').encode('utf-8')
但是在接受stm的信息的時候使用'utf-8'解碼會出現亂碼問題
在查了可用編碼后,發現可能是中文無法解碼的問題,使用'gbk'--統一漢語進行解碼,可以解決亂碼問題。
utf-8雖然是通用語言編碼標準,但中文出現亂碼可以使用有針對性的'gbk'進行解碼。
除此之外,python官方也有一種解決辦法:
bytearray.decode(encoding="utf-8", errors="strict")
返回從給定 bytes 解碼出來的字符串。 默認編碼為 'utf-8'。 可以給出 errors 來設置不同的錯誤處理方案。 errors 的默認值為 'strict',表示編碼錯誤會引發 UnicodeError。 其他可用的值為 'ignore', 'replace' 以及任何其他通過 codecs.register_error() 注冊的名稱,請參閱 錯誤處理方案 小節。 要查看可用的編碼列表,請參閱 標準編碼 小節。
我們可以看到把errors關鍵字設置為ignore也可以解決編碼問題。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python中如何解決serial與stm32通信的編碼問題”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。