亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

您的位置:首頁技術文章
文章詳情頁

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

瀏覽:146日期:2022-06-24 09:28:01

問題描述

最近做一個項目,是用Python進行相關的串口操作。及將相關指令通過串口發給設備,設備根據發過來的指令來做出相應的操作,所用的庫是Pyserial。在最初開發時,出現的問題在于:別人給的文檔里面的命令是十六進制的。例如,給出一個指令:

5aa5 07 82 1000 3132 3334 。 那么,我們需要思考的是,我們如何將上面的指令,轉換為pyserial庫進行寫操作時(write)所需要的bytes類型。

解決方法

首先,我們需要知道的是,我們首先,需要用字符串構造成上面的指令,然后我們將它轉換成bytes。我們可以使用encode()函數將字符串轉為bytes格式:

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

然后我們就可以使用write對串口進行發數據了:

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

這里需要說明的是,我們發送的是字符串的1234,串口那邊就根據ascii進行解析。所以就變成了 31 32 33 34。

接下來,再來更換一個場景,我們構造好了一個十六進制的bytes,需要將它還原成字符串:

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

解析串口發過來的數據,首先我們查看從串口發過來的數據格式:

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

可以看到,我們發送的指令,和收到的指令,看起來不一致,那么我們也就無法進行調試,也就無法查看發過來的指令是否有錯誤,所以,我們需要對接收到的指令進行轉換。

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

可以看到,我們通過binascii中的函數,對發送過來的數據進行轉換,轉換成了我們能夠看看懂的命令字符串。

接下來,我們如何將收到的命令,轉換為文字?例如,我們收到了一串bytes,如果將它轉換為明文?

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

如上圖,我們將收到的bytes已經轉換成了字符串格式,然后將里面的31 32 33 34提取出來,然后,我們將它們放入一個數組,經過上面的運算以后,我們就得到了明文數據。

如何將十六進制轉換為字節流?

Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)

上述兩個方法均可。

總結

由于對上述的知識點不是特別熟悉,所以表述可能有一定的混亂。當初想實現上述幾點功能時也費了很大的勁,所以才寫在這里供以后后續使用。后來者進行學習時,無需仔細看文字,只需要看圖片,了解前后數據類型的轉化成什么樣,是否符合自己的需求即可。

補充知識:python中字符之間的轉換函數

int(x [,base ]) 將x轉換為一個整數

long(x [,base ]) 將x轉換為一個長整數

base默認參數值為10,也就是說把字符串’x’視為十進制數轉換成十進制數

print int(’12345’,8) # 5349

float(x ) 將x轉換到一個浮點數 complex(real [,imag ]) 創建一個復數 str(x ) 將對象 x 轉換為字符串 repr(x ) 將對象 x 轉換為表達式字符串 eval(str ) 用來計算在字符串中的有效Python表達式,并返回一個對象 tuple(s ) 將序列 s 轉換為一個元組 list(s ) 將序列 s 轉換為一個列表 chr(x ) 將一個整數轉換為一個字符 unichr(x ) 將一個整數轉換為Unicode字符 ord(x ) 將一個字符轉換為它的整數值 hex(x ) 將一個整數轉換為一個十六進制字符串 oct(x ) 將一個整數轉換為一個八進制字符串

以上這篇Python 字節流,字符串,十六進制相互轉換實例(binascii,bytes)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 天堂入口 | 国产亚洲一区呦系列 | 欧美videofree性欧美另类 | 久 在线播放 | 91久久亚洲最新一本 | 99精彩免费观看 | 91b站 | 亚洲一区二区三区精品视频 | 国产younv真实| 亚洲看片网 | 日本在线亚洲 | 亚洲国产网站 | 久草久草在线视频 | 九九re6精品视频在线观看 | 91精选视频在线观看 | 韩国免费一级成人毛片 | 宅男66lu国产乱在线观看 | 女人张开腿让男人桶视频 | 手机亚洲第一页 | 亚洲视频在线免费观看 | 国产精品日本欧美一区二区 | 国产在线成人一区二区 | 在线高清国产 | 国内交换一区二区三区 | 手机看片成人 | 成人网18免费网 | 美女视频一区二区三区在线 | 日韩在线黄色 | 日韩精品首页 | 毛片一区二区三区 | 国产99精品一区二区三区免费 | 日韩在线视频线视频免费网站 | 亚洲欧美日本综合 | 久久精品国产在爱久久 | 国产福利不卡一区二区三区 | 亚洲男人在线天堂 | 欧美激情视频在线观看一区二区三区 | 亚洲性网 | 欧美日韩精品一区二区另类 | www一级片 | 国产中文字幕免费观看 |