【发布时间】:2015-10-27 11:11:31
【问题描述】:
我正在处理以西里尔拼字法书写的俄语单词。除了在str 中将多少(但不是全部)西里尔字符编码为两个字符之外,一切工作正常。例如:
>>>print ["ё"]
['\xd1\x91']
如果我不想索引字符串位置或确定一个字符的位置并将其替换为另一个(比如"e",没有分音符号),这不会是一个问题。显然,2个“字符”在以u为前缀时被视为一个,如u"ё":
>>>print [u"ё"]
[u'\u0451']
但是strs 是作为变量传递的,因此不能以 u 为前缀,而unicode() 给出了UnicodeDecodeError(ascii 编解码器无法解码...)。
那么...我该如何解决这个问题?如果有帮助,我正在使用 python 2.7
【问题讨论】:
-
然后可以用str.format作为前缀或者使用unicode的正确编码
标签: python python-2.7 unicode