You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将十六进制格式字符串转换为字节串?

Python 十六进制字符串转字节串的正确方法

你用str.encode()的方式不对,这个方法只是把字符串本身的字符编码成字节,而不是解析十六进制内容。要把十六进制格式的字符串转成对应的字节串,直接用Python内置的bytes.fromhex()方法就行。

示例代码

string = 'b36372908bd6f0b5898a38879c7d88436590c3e786568db84a3948408e81b4c6'
my_byte_string = bytes.fromhex(string)
print(my_byte_string)

运行后得到的结果就是你要的目标字节串:

b'\xb3cr\x90\x8b\xd6\xf0\xb5\x89\x8a8\x87\x9c}\x88Ce\x90\xc3\xe7\x86V\x8d\xb8J9H@\x8e\x81\xb4\xc6'

为什么之前的方法不行?

str.encode(string)(或者直接string.encode())会把字符串里的每个字符按默认的UTF-8编码转成字节。比如原字符串里的'b'会被转成0x62,'3'转成0x33,最终得到的是原十六进制字符串的字节形式,而不是解析十六进制后对应的字节内容,这就是你之前得到错误结果的原因。

内容的提问来源于stack exchange,提问作者Weber Felipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 11:38:09