如何将unicode字符串转换为相应的ascii字符串?

时间:2018-01-04 14:04:07

标签: python python-2.7 unicode encoding ascii

此代码:

print u'S\xe9parateur'
str(u'S\xe9parateur')

抛出错误:

Séparateur
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128)

我使用了函数str,因为我想将unicode字符串u'S\xe9parateur'转换为相应的ascii字符串,即u'S\xe9parateur' - > 'S\xc3\xa9parateur'

1 个答案:

答案 0 :(得分:2)

这不是相应的ASCII字符串,它是UTF-8字符串。 ASCII,定义上,不能代表整个Unicode范围; UTF-8可以。

要执行转换,请使用.encode对象的unicode方法:

u'S\xe9parateur'.encode('utf-8')

生成'S\xc3\xa9parateur'