以下是Python任意字符串转16进制、32进制、64进制的方法攻略:
将字符串转为16进制
可以使用Python的内置模块binascii中的b2a_hex()函数将字符串转成16进制。具体实现过程如下:
import binascii
# 将字符串转化为16进制
s = 'hello world'
hex_str = binascii.b2a_hex(s.encode())
print(hex_str) # b'68656c6c6f20776f726c64'
其中使用encode()
将Python的字符串编码为bytes类型,然后再使用binascii.b2a_hex()
函数将bytes类型转化为16进制字符串。
将字符串转为32进制
Python标准库中没有直接实现将字符串转换为32进制的函数,不过可以使用一些第三方库,如 base32-crockford
库,来实现将字符串转换为32进制。安装此库 pip install base32-crockford
后,如下实现:
import base64
import base32_crockford
# 将字符串转换为32进制
s = 'hello world'
byte_str = s.encode()
base32_str = base32_crockford.b32encode(byte_str)
print(base32_str.decode()) # 9GZENVXH1VC6P9E5MT6YM3C6
值得注意的是base32-crockford
库中的b32encode()
函数会将bytes类型的字符串转化为32进制字符串。
将字符串转为64进制
Python的标准库中有base64库实现将字符串转换为64进制字符串。具体实现过程如下:
import base64
# 将字符串转化为64进制
s = 'hello world'
base64_str = base64.b64encode(s.encode())
print(base64_str.decode()) # aGVsbG8gd29ybGQ=
base64.b64encode()
函数可以将字符串编码为bytes类型,并将其转换成64进制的字符串。
以上是Python任意字符串转16, 32, 64进制的方法,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python任意字符串转16, 32, 64进制的方法 - Python技术站