python无法对这个字符串利用utf-8进行解码,因为没有合适的字符映射到该编码
解决:
text = "特定字符" encoded_text = text.encode('utf-8', errors='ignore').decode() # 忽略无法表示的字符 encoded_text = text.encode('utf-8', errors='replace').decode() # 使用?替换无法表示的字符
encode([encoding], [errors=‘strict’]),第二个参数可以控制错误处理的策略,默认的参数就是strict,代表遇到非法字符时抛出异常;
- 如果设置为ignore,则会忽略非法字符;一些字符串无法被utf-8解码,所以可以把无法转化为utf-8格式的字符‘ignore’掉,再进行解码。
- 如果设置为replace,则会用?取代非法字符;
- 如果设置为xmlcharrefreplace,则使用XML的字符引用。