Bin*_*Bin 4 python string unicode encoding python-2.7
在Python 2.7中,当尝试强制转换类型以确保它与输出模式匹配时,请参阅以下错误.
UnicodeEncodeError:'ascii'编解码器不能对位置0中的字符进行编码:序号不在范围内(128)试图找到原因并在Jupiter中重现错误.只需输入即可.
str(u'\u2013')
Run Code Online (Sandbox Code Playgroud)
将类型转换为可以处理此类错误的字符串的方法是什么?谢谢!
我会回答我自己的问题。找到一个重复的问题。stackoverflow.com/questions/9942594/
但是为了简单起见,这是一个优雅的解决方案,可以很好地与我的用例一起使用:
def safe_str(obj):
try: return str(obj)
except UnicodeEncodeError:
return obj.encode('ascii', 'ignore').decode('ascii')
return ""
safe_str(u'\u2013')
Run Code Online (Sandbox Code Playgroud)
或简单地使用:
u'\u2013'.encode('ascii', 'ignore')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28422 次 |
最近记录: |