我必须接受utf-8中的用户输入并将其提供给只接受ISO-8859-15的系统。 我想将用户提供的unicode字符串中的所有非ISO-8859-15字符转换为U + FFFD ,这样我就可以将有问题的字符呈现给用户。什么是最简单的方法来实现这个目标?
我正在使用Python 2.7。
*)使用“最简单”的任意定义:)
答案 0 :(得分:1)
这个怎么样?
def is_latin_9(c):
try:
c.encode('iso-8859-15')
return True
except UnicodeEncodeError:
return False
def replace_non_latin_9(s):
return ''.join(c if is_latin_9(c) else u'\ufffd' for c in s)