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

Python中如何为十六进制字符串每隔2个字符添加空格分隔符

Python 连续十六进制字符串转空格分隔格式实现方案

核心逻辑:十六进制字符串每2个字符对应1个单字节值,只要按2位步长切分字符串,再用空格拼接即可。


方法1:纯字符串切片(无依赖,全版本兼容)

不需要引入任何第三方库或标准库,是最轻便高效的实现:

# 注意不要用str作为变量名,会覆盖Python内置字符串类型
hex_str = '02001400ce01'
formatted_str = ' '.join(hex_str[i:i+2] for i in range(0, len(hex_str), 2))

print(formatted_str)
# 输出: 02 00 14 00 ce 01

逻辑说明:

  • 用range(0, len(hex_str), 2)生成从0开始、步长为2的索引序列,对应每个字节的起始位置
  • 每次切片取出2位长度的十六进制子串
  • 调用str.join()用空格把所有子串拼接成最终结果

方法2:使用binascii标准库(Python 3.8+支持)

如果是处理字节转换相关的场景,用标准库binascii的语义更清晰,自带分隔符参数:

import binascii

hex_str = '02001400ce01'
# 先把十六进制字符串转成原生字节对象,再格式化输出带分隔符的十六进制串
formatted_str = binascii.hexlify(binascii.unhexlify(hex_str), sep=' ').decode('utf-8')

print(formatted_str)
# 输出: 02 00 14 00 ce 01

注意事项

  • 禁止使用str作为自定义变量名,会覆盖Python内置的字符串基类,引发意料之外的报错
  • 传入的原始十六进制字符串长度必须为偶数,否则切片/字节转换逻辑会抛出异常,生产环境使用建议提前做长度校验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 14:18:22