【Python】 字符串与二进制串、十六进制串的相互转换

一个问题,在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))

参考:https://www.jb51.net/article/143446.htm

猜你喜欢

转载自blog.csdn.net/ztf312/article/details/88703456