Error de sintaxis de Python: carácter no ASCII xe2 en el archivo
- ¿Qué son los códigos ASCII?
-
¿Qué es el
Error de sintaxis: carácter no ASCII '\xe2'
en Archivo en Python -
Cómo corregir el
Error de sintaxis: carácter no ASCII '\xe2'
en Archivo en Python - Conclusión
Este error indica que está escribiendo un carácter no ASCII en su código. En el momento de la compilación, el intérprete se confunde y arroja el SyntaxError: Non-ASCII character '\xe2'
.
Los caracteres ASCII utilizan la misma codificación que los primeros 128 caracteres de UTF-8, por lo que el texto ASCII es compatible con UTF-8. Primero, debe comprender la diferencia entre los caracteres ASCII y los no ASCII.
¿Qué son los códigos ASCII?
ASCII es el formato de codificación de caracteres más popular para datos de texto en computadoras e Internet (Código estándar estadounidense para el intercambio de información).
Hay valores distintos para 128 caracteres alfabéticos, numéricos, especiales y de control adicionales en datos codificados en ASCII.
¿Qué es el Error de sintaxis: carácter no ASCII '\xe2'
en Archivo en Python
La razón principal detrás de este error es que está leyendo un carácter que su compilador de Python no reconoce.
Por ejemplo, probemos con el símbolo £
, que el intérprete de Python no reconoce.
string = "£"
fp = open("test.txt", "w+")
fp.write("%s" % string)
print(string)
Producción :
SyntaxError: Non-ASCII character '\xe2'
El símbolo £
no es reconocido por el intérprete, por lo que está dando un SyntaxError: Non-ASCII character '\xe2'
.
Cómo corregir el Error de sintaxis: carácter no ASCII '\xe2'
en Archivo en Python
Aquí hemos incluido la declaración #codificación: utf-8
en la parte superior del programa. Este código creará un archivo test.txt
en el que se almacena el valor £
y se imprimirá en la salida como se muestra.
Ejemplo de código:
# coding: utf-8
string = "£"
fp = open("test.txt", "w+")
fp.write("%s" % string)
print(string)
Producción :
£
Al leer el PEP
que proporciona el error, dijo que £
no es un carácter ASCII, a pesar de los intentos de su código de utilizarlo. Use la codificación UTF-8 si puede, y coloque # codificación: utf-8
en la parte superior de su programa para comenzar.
Para volverse más complejo, incluso puede declarar codificaciones cadena por cadena en su código. Sin embargo, necesitará un codificador que lo admita en todo el archivo si intenta agregar el literal £
a su código.
También puede agregar las líneas de código que se indican a continuación.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
Conclusión
No se permite ASCII en Python, ya que el intérprete lo tratará como un SyntaxError
. Python no puede ni debe intentar determinar qué cadena representa una secuencia de bytes fuera del rango ASCII.
Para solucionar este error, debe agregar codificación: utf-8
en la parte superior de su programa.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInArtículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python