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

目录
相关文章
|
5月前
|
Python
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决
57 0
|
5月前
|
编解码 开发者 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
80 1
|
5月前
|
编解码 测试技术 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
990 1
|
5月前
|
编解码 开发者 Python
【Python】已解决:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: t
【Python】已解决:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: t
601 0
|
5月前
|
编解码 开发者 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
603 0
|
7月前
|
编解码 Python Windows
Python写入文件报错‘gbk’ codec can’t encode character的解决办法
Python写入文件报错‘gbk’ codec can’t encode character的解决办法
221 2
|
自然语言处理 C语言 数据格式
转义字符(Escape character)
转义字符(Escape character)
210 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 错误解决方法
110 0
|
网络安全
Bad escape character ‘ygen‘
Bad escape character ‘ygen‘
Bad escape character ‘ygen‘