python 淺談serial與stm32通信的編碼問題
參考鏈接:
使用環(huán)境:
ubuntu18.04
python3.65
問題點(diǎn):
使用pyserial與stm32通信,使用如下形式的編碼進(jìn)行write
(input_s + '\r\n').encode('utf-8')
但是在接受stm的信息的時(shí)候使用'utf-8'解碼會(huì)出現(xiàn)亂碼問題
在查了可用編碼后,發(fā)現(xiàn)可能是中文無法解碼的問題,使用'gbk'--統(tǒng)一漢語進(jìn)行解碼,可以解決亂碼問題。
utf-8雖然是通用語言編碼標(biāo)準(zhǔn),但中文出現(xiàn)亂碼可以使用有針對(duì)性的'gbk'進(jìn)行解碼。
除此之外,python官方也有一種解決辦法:
bytearray.decode(encoding="utf-8", errors="strict")
返回從給定 bytes 解碼出來的字符串。 默認(rèn)編碼為 'utf-8'。 可以給出 errors 來設(shè)置不同的錯(cuò)誤處理方案。 errors 的默認(rèn)值為 'strict',表示編碼錯(cuò)誤會(huì)引發(fā) UnicodeError。 其他可用的值為 'ignore', 'replace' 以及任何其他通過 codecs.register_error() 注冊(cè)的名稱,請(qǐng)參閱 錯(cuò)誤處理方案 小節(jié)。 要查看可用的編碼列表,請(qǐng)參閱 標(biāo)準(zhǔn)編碼 小節(jié)。
我們可以看到把errors關(guān)鍵字設(shè)置為ignore也可以解決編碼問題。
以上這篇python 淺談serial與stm32通信的編碼問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
如何將Python字符串轉(zhuǎn)換為JSON的實(shí)現(xiàn)方法
在本教程中,你將學(xué)習(xí)JSON的基礎(chǔ)知識(shí),它是什么,常用在哪里以及它的語法,還將看到如何在Python中將字符串轉(zhuǎn)換為JSON,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Python使用sklearn庫實(shí)現(xiàn)的各種分類算法簡單應(yīng)用小結(jié)
這篇文章主要介紹了Python使用sklearn庫實(shí)現(xiàn)的各種分類算法,結(jié)合實(shí)例形式分析了Python使用sklearn庫實(shí)現(xiàn)的KNN、SVM、LR、決策樹、隨機(jī)森林等算法實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07python遍歷迭代器自動(dòng)鏈?zhǔn)教幚頂?shù)據(jù)的實(shí)例代碼
迭代器也是用來遍歷對(duì)象成員的,下面這篇文章主要給大家介紹了關(guān)于python遍歷迭代器自動(dòng)鏈?zhǔn)教幚頂?shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01python學(xué)生信息管理系統(tǒng)(初級(jí)版)
這篇文章主要為大家詳細(xì)介紹了python學(xué)生信息管理系統(tǒng)的初級(jí)版本代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Boston數(shù)據(jù)集預(yù)測(cè)放假及應(yīng)用優(yōu)缺點(diǎn)評(píng)估
這篇文章主要為大家介紹了Boston數(shù)據(jù)集預(yù)測(cè)放假及應(yīng)用優(yōu)缺點(diǎn)評(píng)估,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10