我正在打印一些日文字符串的字符串,为什么print(s1)直接输出日文的unicode,而不是日语与s2相同?如何让s1输出“顾客”?谢谢。
s_before = r'\(9867)\(5BA2)'
s1 = s_before.replace('(','').replace(')','').replace('\\','\\u')
print(s1)
s2 = '\u9867\u5BA2'
print('\u9867\u5BA2')
print(s2)
我期望输出如下:
顧客
顧客
顧客
但实际产量如下:
\u9867\u5BA2
顧客
顧客
\u
中的'\u9867\u5BA2'
只是一个用于unicode字符的Python表示法,而不是文字\
和u
,所以你不能只是建立一个字符串\
和u
以及一些代码,并期望它们代表一个unicode字符。
您可以将字符串编码为字节,然后使用unicode_escape
编码对其进行解码,使其成为实际的unicode字符串:
s_before = r'\(9867)\(5BA2)'
s1 = s_before.replace('(','').replace(')','').replace('\\','\\u').encode().decode('unicode_escape')
print(s1)
这输出:
顧客