#! -*- coding:utf-8 -*-
#菜农HotPower[url=home.php?mod=space&uid=516618]@163.com[/url] 2019.4.9 于西安雁塔菜地
def inttohex(v, size):
return "{:>0{}X}".format(v,size)[-size:]
def hextoint(s):
return int(s, 16)
i=0x0123456789aBcdeF
j=0x12Ab
s="fFFf"
print(inttohex(i, 5))
print(inttohex(j, 6))
print(inttohex(1234, 4))
print(inttohex(0x1234, 4))
print(hextoint(s))
print(hex(j))
运行结果:
BCDEF
0012AB
04D2
1234
65535
0x12ab
可以看到,Python自带的hex()真没多大用处,故必须自己搞一个inttohex()
在实际应用中,实际上特别需要补0和固定位数。
测试发现,str.format()中{}竟然可嵌套!!!
"{:>0{}X}".format(v,size)[-size:]
上句表示数据右对齐裁剪,左边补0,字母A-F大写。
|