【发布时间】:2023-03-13 20:35:01
【问题描述】:
解码如下编码字符串的最佳方法是:u'u\xf1somestring'?
背景:我有一个包含随机值(字符串和整数)的列表,我正在尝试将列表中的每个项目转换为字符串,然后处理每个项目。
原来有些项目的格式是:u'u\xf1somestring'
当我尝试转换为字符串时,出现错误:UnicodeEncodeError: 'ascii' codec can't encode character u'\xf1' in position 1: ordinal not in range(128)
我试过了
item = u'u\xf1somestring'
decoded_value = item.decode('utf-8', 'ignore')
但是,我不断收到同样的错误。
我已经阅读了有关 unicode 字符的信息,并尝试了一些 SO 的建议,但到目前为止都没有奏效。我在这里错过了什么吗?
【问题讨论】:
-
如果是 Unicode 字符串,则已经解码。
-
这篇文章可能对您有所帮助:Pragmatic Unicode,由 SO 资深人士 Ned Batchelder 撰写。
-
我假设您使用的是 Python 2。您应该总是提及带有 Unicode 问题的 Python 版本(最好使用适当的标签),因为 Python 2 和 Python 3 处理 Unicode 而不是不同。
-
FWIW,
s = u'u\xf1somestring'.encode('utf-8');print s, repr(s)打印uñsomestring 'u\xc3\xb1somestring'
标签: string python-2.7 unicode decode encode