首先:
你必须
read this
,没有借口
。
一旦完成,您就会明白,在不知道原始编码的情况下尝试将字节字符串解码为unicode通常是浪费时间。
第二点:这个(为了可读性而缩短):
u' \xc3\u201a\xc2\xa4\xc3\u201a\xc2\xbf\xc3\u0192\xc2 '
是python对unicode字符串的内部表示-通过显示字节字符串的内部表示,可以得到类似的结果:
$ python
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = "ÃâäÃâÃÂ¿ÃÆÃ ÃâäÃâÃÂ²ÃÆÃ"
>>> s # internal representation
'\xc3\x83\xe2\x80\x9a\xc3\x82\xc2\xa4\xc3\x83\xe2\x80\x9a\xc3\x82\xc2\xbf\xc3\x83\xc6\x92\xc3\x82 \xc3\x83\xe2\x80\x9a\xc3\x82\xc2\xa4\xc3\x83\xe2\x80\x9a\xc3\x82\xc2\xb2\xc3\x83\xc6\x92\xc3\x82'
>>> print(s) # readable output
ÃâäÃâÃÂ¿ÃÆÃ ÃâäÃâÃÂ²ÃÆÃ
所以这里唯一的问题是混淆了内部表示和“人类可见”输出
现在请注意,字符串最终将如何显示给用户取决于进行呈现的软件(如果从命令行运行python并将其打印到stdout,则使用xterm或等效软件;如果将其呈现为服务器端生成的http响应的一部分,则使用浏览器等)和系统m设置,所有这些都不属于python的职责范围。