我正在处理由 python-lastfm 库返回的 unicode 字符串。
我假设在途中某处,库的编码错误并返回可能包含无效字符的 unicode 字符串。
例如,我在变量 a 中期望的原始字符串是“Glück”
>>> a u'Gl\xfcck' >>> print a Traceback (most recent call last): File "", line 1, in UnicodeEncodeError: 'ascii' codec can't encode character u'\xfc' in position 2: ordinal not in range(128)
\xfc是转义值252,对应“ü”的latin1编码。不知何故,它以 python 无法自行处理的方式嵌入到 unicode 字符串中。
我如何将其转换回包含原始“Glück”的普通或 unicode 字符串?我尝试使用解码/编码方法,但要么得到 UnicodeEncodeError,要么得到一个包含序列\xfc 的字符串。
最佳答案
您必须使用某种编码将您的 unicode 字符串转换为标准字符串,例如utf-8:
some_unicode_string.encode('utf-8')
除此之外:这是一个骗局
BeautifulSoup findall with class attribute- unicode encode error
以及至少 10 个关于 SO 的其他相关问题。先研究。
关于python - 处理 Python unicode 字符串中错误编码的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5760936/