Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制
生活随笔
收集整理的這篇文章主要介紹了
Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
2.7版本
2.7版本下進行轉(zhuǎn)換還是很方便的,hex2char:output = 'data'.decode('hex')
?char2hex: output = '64617461'.encode('hex')
import syschoose = sys.argv[1] data = sys.argv[2]def hex2char():output = data.decode('hex')print outputdef char2hex():output = data.encode('hex')print outputprint "Usage: <filename> <hex2char or char2hex> <your data>"if len(sys.argv) == 3:if choose.lower() == 'hex2char':hex2char()if choose.lower() == 'char2hex':char2hex()if choose.lower()!='hex2char' and choose.lower()!='char2hex':print "Wrong param,try again" else:print "Wrong number of params,check your input\n"#this script has passed the test3.0版本
3.0環(huán)境比較常用的是binascii模塊,關(guān)于這個模塊的一些函數(shù)和方法可以查找手冊,這里且說對于十六進制和字符串的轉(zhuǎn)換
def hex2char(data): # binascii.a2b_hex(hexstr) output = binascii.unhexlify(data)print(output)def char2hex(data):data = b'data' # binascii.b2a_hex(data) output = binascii.hexlify(data)print(output)?
二進制 to 十進制
def bin2dec(string_num):return str(int(string_num, 2))?
十六進制 to 十進制
def hex2dec(string_num):return str(int(string_num.upper(), 16))?
十進制 to 二進制
def dec2bin(string_num):num = int(string_num)mid = []while True:if num == 0: breaknum,rem = divmod(num, 2)mid.append(base[rem])return ''.join([str(x) for x in mid[::-1]])?
# 獲取用戶輸入十進制數(shù)
dec = int(input("輸入數(shù)字:"))
print("十進制數(shù)為:", dec)
print("轉(zhuǎn)換為二進制為:", bin(dec))
print("轉(zhuǎn)換為八進制為:", oct(dec))
print("轉(zhuǎn)換為十六進制為:", hex(dec))
?
總結(jié)
以上是生活随笔為你收集整理的Python 16进制与字符串的转换、二进制 to 十进制、十六进制 to 十进制、十进制 to 二进制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cannot use a string
- 下一篇: websocket python爬虫_p