如何在Python中将字符串转换为16字节的buffer对象
如何将字符串转换为指定的字节对象
你尝试的bytes()函数加编码方式是字符编码转换,它遵循固定的字符-字节映射规则(比如UTF-8、GBK),但你要的结果并不是标准编码的产物,而是通过哈希函数生成的字节序列。
你给出的示例字节b'\xa2\x9a\xb8.\xdc_\xbb\xc4\x1e\xc9S\x0fm\xac\x86\xb1',正好是字符串"abcdefghijk"的MD5哈希值,实现代码如下:
import hashlib # 将字符串转为UTF-8字节(哈希函数仅接受字节输入) input_str = "abcdefghijk" input_bytes = input_str.encode('utf-8') # 计算MD5哈希并获取原始字节结果 target_bytes = hashlib.md5(input_bytes).digest() print(target_bytes) # 输出结果:b'\xa2\x9a\xb8.\xdc_\xbb\xc4\x1e\xc9S\x0fm\xac\x86\xb1'
补充说明
- 哈希函数会将任意长度的输入转换为固定长度的字节序列,且不可逆
- 如果你的目标是其他自定义字节序列,需要先明确字符串到字节的具体映射规则,再编写对应的转换逻辑
内容的提问来源于stack exchange,提问作者roycode360
相关产品推荐
相关产品推荐

