最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 字節(jié)流,字符串,十六進(jìn)制相互轉(zhuǎn)換實(shí)例(binascii,bytes)

 更新時間:2020年05月11日 10:30:02   作者:GodLordGee  
這篇文章主要介紹了Python 字節(jié)流,字符串,十六進(jìn)制相互轉(zhuǎn)換實(shí)例(binascii,bytes),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

問題描述

最近做一個項目,是用Python進(jìn)行相關(guān)的串口操作。及將相關(guān)指令通過串口發(fā)給設(shè)備,設(shè)備根據(jù)發(fā)過來的指令來做出相應(yīng)的操作,所用的庫是Pyserial。在最初開發(fā)時,出現(xiàn)的問題在于:別人給的文檔里面的命令是十六進(jìn)制的。例如,給出一個指令:

5aa5 07 82 1000 3132 3334 。 那么,我們需要思考的是,我們?nèi)绾螌⑸厦娴闹噶?,轉(zhuǎn)換為pyserial庫進(jìn)行寫操作時(write)所需要的bytes類型。

解決方法

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

然后我們就可以使用write對串口進(jìn)行發(fā)數(shù)據(jù)了:

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

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

解析串口發(fā)過來的數(shù)據(jù),首先我們查看從串口發(fā)過來的數(shù)據(jù)格式:

可以看到,我們發(fā)送的指令,和收到的指令,看起來不一致,那么我們也就無法進(jìn)行調(diào)試,也就無法查看發(fā)過來的指令是否有錯誤,所以,我們需要對接收到的指令進(jìn)行轉(zhuǎn)換。

可以看到,我們通過binascii中的函數(shù),對發(fā)送過來的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成了我們能夠看看懂的命令字符串。

接下來,我們?nèi)绾螌⑹盏降拿?,轉(zhuǎn)換為文字?例如,我們收到了一串bytes,如果將它轉(zhuǎn)換為明文?

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

如何將十六進(jìn)制轉(zhuǎn)換為字節(jié)流?

上述兩個方法均可。

總結(jié)

由于對上述的知識點(diǎn)不是特別熟悉,所以表述可能有一定的混亂。當(dāng)初想實(shí)現(xiàn)上述幾點(diǎn)功能時也費(fèi)了很大的勁,所以才寫在這里供以后后續(xù)使用。后來者進(jìn)行學(xué)習(xí)時,無需仔細(xì)看文字,只需要看圖片,了解前后數(shù)據(jù)類型的轉(zhuǎn)化成什么樣,是否符合自己的需求即可。

補(bǔ)充知識:python中字符之間的轉(zhuǎn)換函數(shù)

int(x [,base ]) 將x轉(zhuǎn)換為一個整數(shù)

long(x [,base ]) 將x轉(zhuǎn)換為一個長整數(shù)

base默認(rèn)參數(shù)值為10,也就是說把字符串'x'視為十進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)

print int('12345',8) # 5349

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

以上這篇Python 字節(jié)流,字符串,十六進(jìn)制相互轉(zhuǎn)換實(shí)例(binascii,bytes)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用python庫matplotlib繪制不同的圖表

    利用python庫matplotlib繪制不同的圖表

    這篇文章主要介紹了利用python庫matplotlib繪制不同的圖表,使用python中的matplotlib繪制圖表,主要分享繪制簡單的曲線圖、單條曲線圖、多條曲線圖、直方圖以及散點(diǎn)圖的思路和用法,需要的朋友可以參考一下
    2022-03-03
  • Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法示例

    Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法示例

    這篇文章主要介紹了Python數(shù)據(jù)分析之獲取雙色球歷史信息的方法,涉及Python網(wǎng)頁抓取、正則匹配、文件讀寫及數(shù)值運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • 詳解python實(shí)現(xiàn)交叉驗(yàn)證法與留出法

    詳解python實(shí)現(xiàn)交叉驗(yàn)證法與留出法

    這篇文章主要介紹了詳解python實(shí)現(xiàn)交叉驗(yàn)證法與留出法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python數(shù)據(jù)分析之聚類分析(cluster analysis)

    python數(shù)據(jù)分析之聚類分析(cluster analysis)

    聚類分析本身不是一個特定的算法,而是要解決的一般任務(wù)。它可以通過各種算法來實(shí)現(xiàn),這些算法在理解群集的構(gòu)成以及如何有效地找到它們方面存在顯著差異。這篇文章主要介紹了python數(shù)據(jù)分析之聚類分析(cluster analysis),需要的朋友可以參考下
    2021-11-11
  • python tornado微信開發(fā)入門代碼

    python tornado微信開發(fā)入門代碼

    這篇文章主要為大家詳細(xì)介紹了python tornado微信開發(fā)入門代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python中的二維列表實(shí)例詳解

    python中的二維列表實(shí)例詳解

    這篇文章主要介紹了python中的二維列表實(shí)例詳解,文中給大家介紹了python 二維列表按列取元素的方法,需要的朋友可以參考下
    2018-06-06
  • python中f字符串以及其常見用法總結(jié)

    python中f字符串以及其常見用法總結(jié)

    python中的f是format函數(shù)的縮寫,用于格式化輸出,下面這篇文章主要給大家介紹了關(guān)于python中f字符串以及其常見用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 使用Python和OpenCV檢測圖像中的物體并將物體裁剪下來

    使用Python和OpenCV檢測圖像中的物體并將物體裁剪下來

    這篇文章主要介紹了使用Python和OpenCV檢測圖像中的物體并將物體裁剪下來,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python實(shí)現(xiàn)雙色球隨機(jī)選號

    python實(shí)現(xiàn)雙色球隨機(jī)選號

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)雙色球隨機(jī)選號,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 詳解vscode實(shí)現(xiàn)遠(yuǎn)程linux服務(wù)器上Python開發(fā)

    詳解vscode實(shí)現(xiàn)遠(yuǎn)程linux服務(wù)器上Python開發(fā)

    這篇文章主要介紹了vscode實(shí)現(xiàn)遠(yuǎn)程linux服務(wù)器上Python開發(fā),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11

最新評論

东港市| 建德市| 儋州市| 资兴市| 连江县| 都江堰市| 彰武县| 马公市| 东丰县| 辽源市| 和静县| 临沧市| 南宫市| 土默特右旗| 阳曲县| 岫岩| 社会| 得荣县| 玛多县| 东山县| 犍为县| 永新县| 昆明市| 浙江省| 高碑店市| 当雄县| 乐平市| 根河市| 昭苏县| 泾阳县| 泰宁县| 马山县| 宿松县| 观塘区| 商丘市| 台南县| 恩施市| 巴马| 清流县| 陕西省| 永吉县|