gpt4 book ai didi

python - 如何打印这些字符?

转载 作者:行者123 更新时间:2023-11-28 17:41:18 24 4
gpt4 key购买 nike

我有一个字符串:

"\\xB9 blah\n   blah: \xbf\xaa\xb7\xa2\xb2\xbf\n" 

我希望将其打印为:

\\xB9 blah
blah: \\xbf\\xaa\\xb7\\xa2\\xb2\\xbf

我试过:

s = "\\xB9 blah\n   blah: \xbf\xaa\xb7\xa2\xb2\xbf\n"
s = s.replace(r'\x',r'\\x')
print s

但这会在 blah: 之后的第二行打印出看起来很滑稽的字符。我如何让它发挥作用?

最佳答案

字符串中的 \xNN 表示法转换为代码为 NN 的字符。为了让您的 replace 方法执行您想要的操作,您需要为其提供一个字符串,它可以在其中找到子字符串 \x。您可以使用原始字符串,或简单地转义反斜杠:

s = r"\\xB9 blah\n   blah: \xbf\xaa\xb7\xa2\xb2\xbf\n"
s = s.replace(r'\x',r'\\x')

.

s = "\\xB9 blah\n   blah: \\xbf\\xaa\\xb7\\xa2\\xb2\\xbf\n"
s = s.replace(r'\x',r'\\x')

如果您想打印乱码字符的转义版本,那就有点棘手了。假设您只想转义扩展的 ASCII 字符,我会这样做:

def escape_non_ascii(s):
out = ''
for c in s:
if 31 < ord(c) < 127:
out += c
elif c == '\n':
out += r'\n'
else:
out += r'\x{0:x}'.format(ord(c))
return out

print escape_non_ascii("\\xB9 blah\n blah: \xbf\xaa\xb7\xa2\xb2\xbf\n")

关于python - 如何打印这些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23780806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com