2.7版本
2.7版本下进行转换还是很方便的,hex2char:output = 'data'.decode('hex')
char2hex: output = '64617461'.encode('hex')
import sys
choose = sys.argv[1]
data = sys.argv[2]
def hex2char():
output = data.decode('hex')
print output
def char2hex():
output = data.encode('hex')
print output
print "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 test
3.0版本
3.0环境比较常用的是binascii模块,关于这个模块的一些函数和方法可以查找手册,这里且说对于十六进制和字符串的转换
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: break
num,rem = divmod(num,2)
mid.append(base[rem])
return ''.join([str(x) for x in mid[::-1]])
# 获取用户输入十进制数
dec = int(input("输入数字:"))print("十进制数为:",dec)
print("转换为二进制为:",bin(dec))
print("转换为八进制为:",oct(dec))
print("转换为十六进制为:",hex(dec))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。