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

简介: 在Python调试中遇到的两种编码错误:1) "Cannot decode using encoding 'ascii'",此错误发生在处理含有非ASCII字节的字符串时;2) "SyntaxError: Non-ASCII character",当程序文件含中文且未声明编码。解决方法是在脚本开头添加 "# -*- coding: utf-8 -*-" 或 "#coding=UTF-8",告知Python使用UTF-8解析,确保文件实际也以UTF-8编码保存。

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

1.错误:Cannot decode using encoding "ascii", unexpected byte at position  
  具体 错误信息如下:
image.png

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编码来保存你的脚本文件。

目录
相关文章
|
4月前
|
Python
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
49 0
|
4月前
|
编解码 开发者 Python
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
【Python】已解决:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\u0157’ in position 1: illegal m
54 1
|
4月前
|
编解码 测试技术 Python
【Python】已解决:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not i
【Python】已解决:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not i
712 1
|
4月前
|
编解码 开发者 Python
【Python】已解决:UnicodeEncodeError: ‘utf-8’ codec can’t encode characters in position 42-43: surrogates
【Python】已解决:UnicodeEncodeError: ‘utf-8’ codec can’t encode characters in position 42-43: surrogates
360 0
|
6月前
|
编解码 Python Windows
Python写入文件报错‘gbk’ codec can’t encode character的解决办法
Python写入文件报错‘gbk’ codec can’t encode character的解决办法
181 2
|
数据采集 编解码 Python
UnicodeEncodeErron: ‘gbk‘ codec can‘t encode character ‘ \ue615‘ in position 346139...编码问题解决
不论使用urllib还是使用requests库经常会遇到中文编码错误的问题,我就经常遇到,因为python安装在windows平台上,cmd的默认编码为GBK,所以在cmd中显示中文时会经常提示gbk编码错误。
165 0
Python编码错误的解决办法SyntaxError: Non-ASCII character '\xe7' in file
Python编码错误的解决办法SyntaxError: Non-ASCII character '\xe7' in file
|
编解码 测试技术 Python
Python UnicodeEncodeError 'ascii' codec can't encode character 错误解决方法
Python UnicodeEncodeError 'ascii' codec can't encode character 错误解决方法
107 0
|
编解码 Python
UnicodeEncodeError: 'ascii' codec can't encode characters
UnicodeEncodeError: 'ascii' codec can't encode characters
168 0