El formato de codificación de los archivos de texto de Python: codificación ASCII y codificación UNICODE

Bienvenido a seguir al blogger python old bird o ir a " Python Self-study Network ", comenzando desde el curso básico gratuito de introducción, y gradualmente aprenda el curso del sistema de pila completa de python, adecuado para que los principiantes dominen el desarrollo de pila completa.


Portal de columnas gratuito: " Tutorial básico de Python "

El contenido almacenado en el archivo de texto es un archivo basado en la codificación de caracteres. Las codificaciones comunes incluyen ASCII, UNICODE, etc.

  1. Python2.x usa la codificación ASCII por defecto
  2. Python3.x usa la codificación UTF-8 de forma predeterminada

1. Codificación ASCII y codificación UNICODE

1.1 "código ASCII

Se puede decir que la codificación ASCII es la codificación más antigua, porque la computadora fue inventada por primera vez por los estadounidenses, y los estadounidenses formularon la codificación ASCII para usar su propio inglés en las computadoras.

  1. Solo hay 256 caracteres ASCII en una computadora
  2. Un ASCII ocupa un byte de espacio en la memoria
  3. Hay un total de 256 combinaciones de 8 0/1, es decir, 2**8

El código ASCCI tiene solo 256 caracteres. Aunque puede cubrir 26 caracteres en inglés, hay decenas de miles de caracteres en chino. El código ASCII no puede satisfacernos, por lo que nació el código UNICODE.

1.2 "Codificación UNICODE

Formato de codificación UTF-8:

  1. UTF-8 es un formato de codificación de codificación UNICODE
  2. Las computadoras usan de 1 a 6 bytes para representar un carácter UTF-8, cubriendo casi todos los textos del mundo
  3. La mayoría de Hanzi usará 3 bytes para representar


2. Cómo usar chino en Python2.x

1. Agregue el siguiente código a la primera línea del archivo python2.x y el intérprete procesará el archivo Python en codificación UTF-8

# *-* coding:utf8 *-*

Consejo: este método se recomienda oficialmente.

2. También puede ser así, no debe haber espacios a ambos lados del signo =

# coding=utf8

pregunta:

En python2.x, incluso si se especifica que el archivo use el formato de codificación UTF-8, al atravesar la cadena, la cadena seguirá atravesándose en bytes

respuesta:

Para poder atravesar la cadena correctamente, al definir la cadena, debe agregar una letra u minúscula antes del inicio de la cadena para decirle al intérprete que se trata de una cadena Unicode (es una cadena que usa codificación UTF-8)

Código: este código tendrá muchos símbolos en python2.x

str = u"Python自学网"

for a in str:
    print(a)

Optimización de código: agregar u

# 引号前面的u告诉解释器这事一个utf-8编码格式的字符串
str = u"Python自学网"

for a in str:
    print(a)


3. ¿Qué pasa si el chino en el archivo no se puede leer en Python3.x?

Los archivos fuente de Python3.X utilizan la codificación utf-8 de forma predeterminada, por lo que el chino se puede analizar normalmente sin especificar la codificación UTF-8.

python3 para ver la codificación predeterminada:

Módulo: python3 sys.getdefaultencoding().py

Función: obtener el método de codificación predeterminado del sistema

código:

import sys
print(sys.getdefaultencoding())

Resultado: utf-8

¿Qué pasa si el chino en el archivo no se puede leer en Python3.x?

Solución: Escribir codificación = " UTF-8 "

Por ejemplo:

file = open("HELLO", encoding="UTF-8")

Supongo que te gusta

Origin blog.csdn.net/weixin_48728769/article/details/126957569
Recomendado
Clasificación