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

Python如何将十六进制字符串转换为逆序\x格式的字节串

问题原因

你之前尝试拼接\x的写法报错,是因为\x是Python字符串字面量的语法级转义前缀,仅在代码解析阶段生效,不是可以在运行时动态拼接的普通字符串片段,直接写"\x"+xx会被解析为不合法的不完整转义序列,直接触发语法错误。

实现方法

你的需求本质是两步操作:先将十六进制字符串按每两位一组转成字节,再倒转字节顺序。Python内置的bytes.fromhex方法可以直接处理十六进制字符串转字节,不需要手动拼接转义符:

# 输入的原始十六进制字符串
origin_hex = '3918f33a'
# 转成原始字节序列,得到 b'\x39\x18\xf3\x3a'
raw_bytes = bytes.fromhex(origin_hex)
# 倒序字节,得到你需要的 b'\x3a\xf3\x18\x39'
target_bytes = raw_bytes[::-1]
# 如果需要转成字符串格式,用单字节的latin-1编码即可保证一一对应
output = target_bytes.decode('latin-1')

print(output)

运行上述代码print(output)就会输出你需要的ó▒9结果。

注:直接打印target_bytes时你会看到输出为b':\xf3\x189',这是Python的优化显示逻辑:可打印的ASCII字符会直接显示原文,\x3a对应可打印的冒号:,\x39对应可打印的9,和你需要的\x3a\xf3\x18\x39完全等价,没有区别。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:27:05