Python hexstring-list-str之間的轉(zhuǎn)換方法
在Python操作數(shù)據(jù)內(nèi)容時(shí),多數(shù)情況下可能遇到下面3種類型的數(shù)據(jù)處理:
hexstring 如:'1C532145697A8B6F'
str 如:'\x1C\x53\x21\x45\x69\x7A\x8B\x6F'
list 如:[0x1C, 0x53, 0x21, 0x45, 0x69, 0x7A, 0x8B, 0x6F]
各種第三方模塊(如pyDes),或者自己寫(xiě)的接口中,可能存在由于類型不統(tǒng)一需要在這3種數(shù)據(jù)中來(lái)回切換的情況。
需要用到的核心的方法如下:
list() 將對(duì)象轉(zhuǎn)換為list
str() 將對(duì)象轉(zhuǎn)換為str
bytearray() 將對(duì)象轉(zhuǎn)換為bytearray
bytearray.fromhex() 將對(duì)象從hexstring轉(zhuǎn)換為bytearray
binascii.b2a_hex() 將對(duì)象從str轉(zhuǎn)換為hexstring
1. 整形列表轉(zhuǎn)str
如:[0x53, 0x21, 0x6A] -> '\x53\x21\x6a'
方法:list -> bytearray -> str
x = [0x53, 0x21, 0x6A] y = str(bytearray(x))
2. str轉(zhuǎn)整形列表
如:'\x53\x21\6a' -> [0x53, 0x21, 0x6A]
方法:逐個(gè)字符轉(zhuǎn)成十進(jìn)制
x = '\x53\x21\x6a' y = [ord(c) for c in x]
3. 整形列表轉(zhuǎn)換為hex string
如: [0x53, 0x21, 0x6A] -> '53216A'
方法:list -> bytearray -> str -> hexstring
import binascii x = [0x53, 0x21, 0x6A] y = str(bytearray(x)) z = binascii.b2a_hex(y)
4. hex string轉(zhuǎn)換為整形列表
如: '53216A' -> [0x53, 0x21, 0x6A]
方法:hexstring -> bytearray -> list
x = '53216A' y = bytearray.fromhex(x) z = list(y)
5. hex string轉(zhuǎn)換為str
如: '53216A' -> '\x53\x21\x6A'
方法:hexstring -> bytearray -> str
x = '53216A' y = bytearray.fromhex(x) z = str(y)
以上這篇Python hexstring-list-str之間的轉(zhuǎn)換方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決python 自動(dòng)安裝缺少模塊的問(wèn)題
今天小編就為大家分享一篇解決python 自動(dòng)安裝缺少模塊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10跟老齊學(xué)Python之使用Python查詢更新數(shù)據(jù)庫(kù)
前面我們講述了使用python操作數(shù)據(jù)庫(kù),今天我們來(lái)更進(jìn)一步,介紹下python查詢、更新數(shù)據(jù)庫(kù)的相關(guān)操作。有需要的小伙伴自己參考下吧。2014-11-11Django中l(wèi)ogin_required裝飾器的深入介紹
這篇文章主要給大家介紹了關(guān)于Django中l(wèi)ogin_required裝飾器的使用方法,并給大家進(jìn)行了實(shí)例借鑒,利用@login_required實(shí)現(xiàn)Django用戶登陸訪問(wèn)限制,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-11-11python使用dataframe_image將dataframe表格轉(zhuǎn)為圖片
本文主要介紹了python使用dataframe_image將dataframe表格轉(zhuǎn)為圖片,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01Python中range、np.arange和np.linspace的區(qū)別
本文主要介紹了Python中range、np.arange和np.linspace的區(qū)別,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Python+PyQt5實(shí)現(xiàn)滅霸響指功能
這篇文章主要介紹了Python+PyQt5實(shí)現(xiàn)滅霸響指功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Python實(shí)現(xiàn)計(jì)算AUC的三種方式總結(jié)
AUC(Area?under?curve)是機(jī)器學(xué)習(xí)常用的二分類評(píng)測(cè)手段,直接含義是ROC曲線下的面積。本文總結(jié)了Python語(yǔ)言實(shí)現(xiàn)計(jì)算AUC的三種方式,感興趣的可以學(xué)習(xí)一下2022-07-07Python通過(guò)matplotlib畫(huà)雙層餅圖及環(huán)形圖簡(jiǎn)單示例
這篇文章主要介紹了Python通過(guò)matplotlib畫(huà)雙層餅圖及環(huán)形圖簡(jiǎn)單示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12