当前位置:   article > 正文

python报错 ‘utf-8‘ codec can‘t encode characters in position xxxx-xxxx: surrogates not allowed_python linecache utf-8 codec can't

python linecache utf-8 codec can't

python无法对这个字符串利用utf-8进行解码,因为没有合适的字符映射到该编码

解决:

text = "特定字符"
encoded_text = text.encode('utf-8', errors='ignore').decode()  # 忽略无法表示的字符
encoded_text = text.encode('utf-8', errors='replace').decode()  # 使用?替换无法表示的字符
  • 1
  • 2
  • 3

encode([encoding], [errors=‘strict’]),第二个参数可以控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;

  • 如果设置为ignore,则会忽略非法字符;一些字符串无法被utf-8解码,所以可以把无法转化为utf-8格式的字符‘ignore’掉,再进行解码。
  • 如果设置为replace,则会用?取代非法字符;
  • 如果设置为xmlcharrefreplace,则使用XML的字符引用。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/678769
推荐阅读
相关标签
  

闽ICP备14008679号