使用Python內(nèi)置模塊與函數(shù)進(jìn)行不同進(jìn)制的數(shù)的轉(zhuǎn)換
這篇文章主要介紹了使用Python內(nèi)置的模塊與函數(shù)進(jìn)行不同進(jìn)制的數(shù)的轉(zhuǎn)換的方法,Python也使得讀取純二進(jìn)制文件內(nèi)容非常方便,需要的朋友可以參考下
binascii 模塊:
它包含一個(gè)把二進(jìn)制數(shù)值轉(zhuǎn)換成十六進(jìn)制的函數(shù),同樣也可以反過(guò)來(lái)轉(zhuǎn)。 #binary_value是二進(jìn)制數(shù)值不是字符串,也不是int型的1010
binascii.b2a_hex(binary_value) ##binary_value 一般讀二進(jìn)制文件可以得到 >>’89’ <type str>
python自帶的builtin函數(shù):bin(num) 十進(jìn)制數(shù)值 ===》二進(jìn)制字符串
bin(10) >> ’0b1010’ <type, str>
oct(num) 十進(jìn)制數(shù)值 ===》八進(jìn)制字符串
oct(10) >>’012’ <type, str>
hex(num) 十進(jìn)制數(shù)值 ===》十六進(jìn)制字符串
hex(20) >>’0x14’ <type, str>
int(str, base) 其它進(jìn)制字符串 ===》十進(jìn)制的數(shù)值,其中base代表str具體是屬于哪個(gè)進(jìn)制,如果是2則表示str是二進(jìn)制, 默認(rèn)base為十進(jìn)制
int(’20’) >>20 <type, int> int(’10’, 2) >>2 <type, int> int(’10’, 8) >>8 <type, int> int(’20’, 10) >>20 <type, int> int(’20’,16) >>32 <type, int>
字符與數(shù)字轉(zhuǎn)換函數(shù):chr(int) 整型 轉(zhuǎn) 字符
chr(65) >>’A’, <type, str>
ord(chr) 字符 轉(zhuǎn) 整型
ord(’a’) >>97, <type, int>
最后,給一個(gè)讀取圖片文件二進(jìn)制內(nèi)容的示例:
#!/usr/bin/env python #encoding: utf-8 import binascii fh = open(r’C:Tempimg2012517165556.png’, ’rb’) a = fh.read() #print ’raw: ’,`a`,type(a) hexstr = binascii.b2a_hex(a) #得到一個(gè)16進(jìn)制的數(shù) #print ’hex: ’,hexstr, type(hexstr) bsstr = bin(int(hexstr,16))[2:] print ’bin: ’,bsstr, type(bsstr)
1010刷屏的效果,是不是有點(diǎn)黑客帝國(guó)的趕腳啊,呵呵
到此這篇關(guān)于使用Python內(nèi)置模塊與函數(shù)進(jìn)行不同進(jìn)制的數(shù)的轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)Python不同進(jìn)制數(shù)轉(zhuǎn)換內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法2. Python TestSuite生成測(cè)試報(bào)告過(guò)程解析3. Python OpenCV去除字母后面的雜線操作4. docker /var/lib/docker/aufs/mnt 目錄清理方法5. JAMon(Java Application Monitor)備忘記6. IntelliJ IDEA設(shè)置背景圖片的方法步驟7. Spring security 自定義過(guò)濾器實(shí)現(xiàn)Json參數(shù)傳遞并兼容表單參數(shù)(實(shí)例代碼)8. Python os庫(kù)常用操作代碼匯總9. Java類(lèi)加載機(jī)制實(shí)現(xiàn)步驟解析10. 增大python字體的方法步驟
