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

Python中如何将字符串转换为字节(不改变每个字节)?

如何将包含十六进制转义的字符串转换为对应字节对象?

你的需求是将字符串s直接映射为字节对象b,其中每个字符对应一个字节。普通编码(如UTF-8)会对部分字符进行多字节编码,导致字节长度与原字符串长度不一致,而latin-1(ISO-8859-1)编码正好解决这个问题——它的编码范围覆盖0-255的所有字节值,每个Unicode码点(0-255)都会被直接转换成对应的单字节,完全匹配你的需求。

实现代码

s = "\x00\x01\x02\x00\xad\xaa"
# 方法1:使用str.encode()
b = s.encode('latin-1')
# 方法2:直接用bytes构造函数
b = bytes(s, 'latin-1')

print(b)  # 输出: b'\x00\x01\x02\x00\xad\xaa'

原理说明

latin-1编码的特性是:每个0-255之间的Unicode字符,都对应唯一的一个字节,字节值等于字符的Unicode码点。这意味着字符串中的\x00(码点0)会转成字节\x00,\xad(码点173)会转成字节\xad,完全保留原字符串的字节映射关系,不会出现编码转换后的内容或长度变化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 19:01:01