如何在Python中为十六进制数字列表添加0x前缀并以逗号分隔
没问题,这事儿好办!先给你直接输出你要的格式结果,再给你讲几种不同的实现方式,不管你是用文本编辑器、命令行还是代码都能搞定:
处理后的结果
0x18, 0x8E, 0x08, 0x83, 0x78, 0x0F, 0xED, 0x63, 0xA4, 0x70, 0x13, 0xAB, 0x78, 0x6C, 0x12, 0x84, 0x86, 0x7F, 0x40, 0xBE, 0x58, 0xE6
几种实现方法
1. 文本编辑器正则替换(最快捷)
如果你用的是VS Code、Sublime Text或者Notepad++这类支持正则替换的编辑器,可以这么操作:
- 按下
Ctrl+H打开替换面板 - 勾选「正则表达式」模式
- 查找内容输入:
(\w{2})(?!$) - 替换内容输入:
0x$1, - 点击「全部替换」,直接得到目标格式(这个正则会自动跳过最后一个元素,避免末尾多出来的逗号)
2. 命令行(sed)一键处理
如果你习惯用终端,直接执行这条命令就行:
echo "18 8E 08 83 78 0F ED 63 A4 70 13 AB 78 6C 12 84 86 7F 40 BE 58 E6" | sed -E 's/([0-9A-F]{2})/0x\1/g; s/ /, /g'
原理很简单:先把每个两位的十六进制字符替换成带0x前缀的格式,再把空格替换成, 分隔符。
3. Python脚本实现(适合批量处理)
如果需要处理大量类似的十六进制列表,用Python写个小脚本更方便:
# 原始十六进制字符串 raw_hex = "18 8E 08 83 78 0F ED 63 A4 70 13 AB 78 6C 12 84 86 7F 40 BE 58 E6" # 分割成列表并添加前缀 formatted_hex = ", ".join([f"0x{h}" for h in raw_hex.split()]) # 输出结果 print(formatted_hex)
运行脚本后就能直接得到你要的格式。
内容的提问来源于stack exchange,提问作者pavikirthi
相关产品推荐
相关产品推荐

