一个问题,在Python中,如何将一个字符串转换为相应的二进制串(01形式表示),并且能够将这个二进制串再转换回原来的字符串。
一个简单版本
def encode(s):
return ' '.join([bin(ord(c)).replace('0b', '') for c in s])
def decode(s):
return ''.join([chr(i) for i in [int(b, 2) for b in s.split(' ')]])
>>>encode('hello')
'1101000 1100101 1101100 1101100 1101111'
>>>decode('1101000 1100101 1101100 1101100 1101111')
'hello'
参考:https://blog.csdn.net/junli_chen/article/details/53580011
ASCii编码字符串转十六进制整数
def str2hex(s = 'test1'):
import binascii
e = 0 # 暂存结果
for i in s:
d = ord(i) # 单个字符转换成ASCii码
e = e * 256 + d # 将单个字符转换成的ASCii码相连
print("e:%x" % e)
print(type(e))