Single

解决Python字符串出现UnicodeEncodeError: ‘ascii’ codec can’t encode character u’\xe9′ in position 8: ordinal not in range(128)

产生错误的原因为ascii和unicode字符编码范围不同造成的,此时需要进行安全字符串编码

def safe_str(obj):
 """ return the byte string representation of obj """
 try:
 return str(obj)
 except UnicodeEncodeError:
 # obj is unicode
 return unicode(obj).encode('unicode_escape')
 
使用方法:
str = safe_str(str)

暂无评论

发表评论