buf = b"x00xddx41"
print(str(buf))
给 x00 xddA。
我需要'x00xddx41'。
基本上显示所有字节的十六进制值,即使存在ASCII字符而没有循环或外部模块。只是想知道这是否可能与任何内置Python3函数。
我当前的代码是"".join(["\x" + hex(x)[2:] for x in buf])
。我试图找到一个内置的替代方案,如果它存在于Python 3或任何更简单的替代方案。
没有你想要的内置函数
你认为什么是"非循环"?下面re.sub
的非Python实现中有一个隐藏循环,但是没有Python循环。
import re
def hexify(s):
return "b'" + re.sub(r'.', lambda m: f'\x{ord(m.group(0)):02x}', buf.decode('latin1')) + "'"
buf = b'x00xddx41'
print(hexify(buf))
输出:
b'x00xddx41'