SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决

发布时间 2023-11-11 17:15:06作者: 香吧香

转载请注明出处:

  python调试时遇到的两个相同的编码错误进行总结:

1.错误:Cannot decode using encoding "ascii", unexpected byte at position  

  具体 错误信息如下: 

         

 2.错误:SyntaxError: Non-ASCII character

  当程序文件中,存在中文字符时候,文件未声明编码格式就会出现报错信息:

target_td = soup.find('a', string='香吧香')

3.以上两个错误的解决办法:

  以上两个错误是因为你的Python脚本中包含了非ASCII字符,而Python默认使用ASCII编码来解析脚本。当Python遇到非ASCII字符时,它会抛出这个错误。

  解决这个问题的方法是,需要在Python脚本的最开始一行,加入一句 # -*- coding: utf-8 -*- 或者 #coding=UTF-8,这样Python就会使用UTF-8编码来解析脚本。例如:

# -*- coding: utf-8 -*-
# or
#coding=UTF-8

  这两行代码告诉Python,你的脚本使用的是UTF-8编码,所以Python就会使用UTF-8编码来解析你的脚本,而不是默认的ASCII编码。

  需要注意的是,脚本文件必须真的使用UTF-8编码,否则Python仍然会抛出这个错误。可以使用文本编辑器的“保存为”功能,选择UTF-8编码来保存你的脚本文件。