【发布时间】:2011-08-11 06:46:21
【问题描述】:
我正在处理由 python-lastfm 库返回的 unicode 字符串。
我假设在途中的某个地方,库编码错误并返回可能包含无效字符的 unicode 字符串。
例如,我期望在变量 a 中的原始字符串是“Glück”
>>> 一个 u'Gl\xfcck' >>> 打印一个 回溯(最近一次通话最后): 文件“”,第 1 行,在 UnicodeEncodeError:“ascii”编解码器无法在位置 2 编码字符 u'\xfc':序数不在范围内(128)\xfc 是转义值252,对应“ü”的latin1编码。不知何故,它以 python 无法自行处理的方式嵌入到 unicode 字符串中。
如何将其转换回包含原始“Glück”的普通或 unicode 字符串?我尝试使用 decode/encode 方法,但要么得到一个 UnicodeEncodeError,要么得到一个包含序列 \xfc 的字符串。
【问题讨论】:
-
你用的是什么版本的 Python?
-
什么操作系统?
sys.stdout.encoding是什么? -
@RestRisiko:还有其他几十个问题
标签: python string unicode character-encoding