utf-8编码和希腊字符

时间:2017-01-04 09:07:44

标签: python utf-8 bs4

虽然我设法获取了我需要的所有数据并将其保存在cv文件中,但我得到的输出是UTF-8格式,这是正常的(纠正我如果我错了)< / p>

TBH我已经&#34;玩过&#34;使用.encode()和.decode()选项,没有任何结果。

这是我的代码

brands=[name.text for name in Unibrands]

这是输出

u'Spirulina \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ae'

这是所需的输出

u'Spirulina Ελληνική'

1 个答案:

答案 0 :(得分:0)

该字符串已经很好了;你看到它的repr,它确实逃脱了某些字符,因为这样可以安全地直接复制并粘贴到Python源代码中(在Python 2.x中它意味着它只需要只有可打印的ASCII字符) ) - 例如,\u0395代表代码点U+0395 GREEK CAPITAL LETTER EPSILON。您正在看到这种形式,因为打印列表(或其他容器)总是向您显示其内容的repr - 如果您直接print字符串,您应该看到一个合适的字形而不是逃脱的形式:

>>> print(u'Spirulina \u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ae')
>>> 'Spirulina Ελληνική'

您还可以考虑升级到更新的Python版本; Python 3.5(以及可能更早的3.x版本)不再在repr中转义这些字母,因为Python现在默认接受源文件中的Unicode字符。