python 实现的 ascii 字符串和16进制相互转换,备忘一下。有时候转换个IP地址会用到。
'''
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
. ' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\__/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
.............................................
佛祖保佑 永无BUG
'''
# coding:utf-8
import binascii
#ascii字符串转16进制
data = '169.254.1.1'
res = binascii.b2a_hex(str.encode(data))
print(bytes.decode(res))
#16进制转ascii字符串
data2 = '0C0D31302e322e332e3235'
res = binascii.a2b_hex(data2)
print(bytes.decode(res))
# str.encode(s) str to bytes
# bytes.decode(b) bytes to str