如何在 python 中输出 utf-8 字符串列表?

Sha*_*ane 4 python utf-8 character-encoding

嗯,字符编码和解码有时让我很沮丧。

\n\n

所以我们知道的u'\\u4f60\\u597d'utf-8的编码\xe4\xbd\xa0\xe5\xa5\xbd

\n\n
>>> print hellolist\n[u'\\u4f60\\u597d']\n>>> print hellolist[0]\n\xe4\xbd\xa0\xe5\xa5\xbd\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在我真正想从输出中获取或写入文件的是[u'\xe4\xbd\xa0\xe5\xa5\xbd'],但它[u'\\u4f60\\u597d']一直都是这样,那么你该怎么做呢?

\n

o11*_*11c 5

你误会了。

\n\n

u''在 python 中不是utf -8,它只是 Unicode(除了在 Windows 上的 Python <= 3.2 中,它是 Unicode utf-16)。

\n\n

utf-8 是 Unicode 的一种编码,它必然是bytes.

\n\n

此外,u'\xe4\xbd\xa0'u'\\u4f60'是完全相同的东西。很简单,在Python2中,repr高位字符使用转义而不是原始值。

\n\n

由于 Python2 即将停产,您应该开始认真考虑切换到 Python3。在 Python3 中跟踪所有这些要容易得多,因为只有一种字符串类型,并且当您使用.encode和时会更加清晰.decode

\n