Python實(shí)現(xiàn)byte轉(zhuǎn)integer
摘自convert a string of bytes into an int (python) - Stack Overflow
需求:將形如'y\xcc\xa6\xbb'的byte字符串轉(zhuǎn)化為integer
方法 1 導(dǎo)入struct包
import struct struct.unpack("<L", "y\xcc\xa6\xbb")[0]
方法 2 python3.2及以上
若byte串采取大端法:
int.from_bytes(b'y\xcc\xa6\xbb', byteorder='big')
若采取小端法,則:
int.from_bytes(b'y\xcc\xa6\xbb', byteorder='little')
方法3 借助十六進(jìn)制轉(zhuǎn)換
大端法:
s = 'y\xcc\xa6\xbb' num = int(s.encode('hex'), 16)
小端法:
int(''.join(reversed(s)).encode('hex'), 16)
方法4 使用array包
import array integerValue = array.array("I", 'y\xcc\xa6\xbb')[0]
其中I用于表示大端或小端,且使用此方法要注意自己使用的python版本。
方法5 自己寫函數(shù)實(shí)現(xiàn)
如:
sum(ord(c) << (i * 8) for i, c in enumerate('y\xcc\xa6\xbb'[::-1]))
又如:
def bytes2int( tb, order='big'): if order == 'big': seq=[0,1,2,3] elif order == 'little': seq=[3,2,1,0] i = 0 for j in seq: i = (i<<8)+tb[j] return i
ps: CSDN的markdown編輯器好難用,寫到頁(yè)面底端就換行錯(cuò)亂,跳字符。
python int 轉(zhuǎn)byte,byte轉(zhuǎn)int
data_byte1 = int(1324).to_bytes(length=2, byteorder='big', signed=True) #int(參數(shù)):參數(shù)代表要被轉(zhuǎn)換的數(shù)字 #length=2:代表要轉(zhuǎn)換成幾個(gè)字節(jié) #byteorder='big'代表高位在前,相反little
data_byte2 = int().from_bytes(data_byte1, byteorder='big', signed=True) print(data_byte1) print(data_byte2)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用open函數(shù)對(duì)文件進(jìn)行處理詳解
今天看了open函數(shù),看到w+ r+ a+ 這種可讀可寫的操作,下面這篇文章主要給大家介紹了關(guān)于python使用open函數(shù)對(duì)文件進(jìn)行處理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05Python2.5/2.6實(shí)用教程 入門基礎(chǔ)篇
本文方便有經(jīng)驗(yàn)的程序員進(jìn)入Python世界.本文適用于python2.5/2.6版本.2009-11-11python如何實(shí)現(xiàn)單鏈表的反轉(zhuǎn)
這篇文章主要介紹了python如何實(shí)現(xiàn)單鏈表的反轉(zhuǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python爬蟲(chóng)爬取愛(ài)奇藝電影片庫(kù)首頁(yè)的實(shí)例代碼
這篇文章主要介紹了Python爬蟲(chóng)爬取愛(ài)奇藝電影片庫(kù)首頁(yè)的實(shí)例代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05python第三方包安裝路徑site-packages下.libs作用詳解
這篇文章主要為大家介紹了python?第三方包安裝路徑?site-packages?下面的以?.libs?結(jié)尾的路徑作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Python實(shí)現(xiàn)統(tǒng)計(jì)給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計(jì)給定列表中指定數(shù)字出現(xiàn)次數(shù)的方法,涉及Python針對(duì)列表的簡(jiǎn)單遍歷、計(jì)算相關(guān)操作技巧,需要的朋友可以參考下2018-04-04python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字
這篇文章主要介紹了python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承示例
這篇文章主要介紹了Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承,結(jié)合具體實(shí)例形式對(duì)比分析了Python實(shí)現(xiàn)帶參數(shù)與不帶參數(shù)的多重繼承相關(guān)操作技巧,需要的朋友可以參考下2018-01-01Python 隨機(jī)生成中文驗(yàn)證碼的實(shí)例代碼
Python 隨機(jī)生成中文驗(yàn)證碼的實(shí)例代碼,需要的朋友可以參考一下2013-03-03