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

如何将Python的bytes数组仅输出为十六进制值且不解码字符

Python查看bytes原始十六进制值的实现方案

Python默认打印bytes对象时,会将可打印ASCII范围内的字节自动转换为对应字符显示,仅不可打印字符才会保留\xXX格式的十六进制展示,你可以通过以下几种方案实现全字节原始十六进制输出:


方案1:自定义遍历格式化(最推荐)

无额外依赖,适配所有场景,直接将每个字节格式化为\xXX格式:

x = b"\x61"
# 遍历每个字节,格式化为两位十六进制并拼接\x前缀
formatted = ''.join([f'\\x{byte:02x}' for byte in x])
# 输出时包裹bytes的标准格式标识
print(f'b"{formatted}"')

运行输出结果:

b"\x61"

方案2:使用binascii模块处理

如果需要先获取纯十六进制字符串再做格式化,可以用内置binascii模块:

import binascii

x = b"\x61"
# 先获取无分隔符的十六进制串
raw_hex = binascii.hexlify(x).decode('ascii')
# 按每两位拆分拼接\x前缀
formatted = ''.join([f'\\x{raw_hex[i:i+2]}' for i in range(0, len(raw_hex), 2)])
print(f'b"{formatted}"')

方案3:仅获取纯十六进制串(无\x前缀)

如果不需要\x前缀,只需要原始十六进制字符,直接调用bytes对象的hex方法即可:

x = b"\x61"
print(x.hex())

输出结果:

61

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 04:15:03