English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de Python

Control de flujo de Python

Funciones en Python

Tipos de datos en Python

Operaciones de archivos de Python

Objetos y clases de Python

Fecha y hora de Python

Conocimiento avanzado de Python

Manual de referencia de Python

Uso y ejemplo del método encode() de la cadena de Python

Python string methods

El método encode() de la cadena de Python codifica la cadena con la codificación especificada. Si no se especifica una codificación, se utilizará UTF-8.

desde Python 3comienza desdeCadenaalmacenada en formato Unicode, es decirCadenaCada carácter está representado por un punto de código. Por lo tanto, cada cadena es una secuencia de puntos de código Unicode.

Para almacenar estos strings de manera efectiva, se convierte la secuencia de puntos de código en un conjunto de bytes. Este proceso se llamaEncoding.

Existen varias codificaciones diferentes, que manejan las cadenas de manera distinta. Las codificaciones populares sonutf-8,asciietc.

Al usar el método encode() de la cadena, puede convertir una cadena no codificada en cualquier codificación soportada por Python. Por defecto, Python utilizautf-8Codificación.

La sintaxis del método encode() es:

string.encode(encoding='UTF-8',errors='strict')

Parámetro de encode() de la cadena

Por defecto, el método encode() no requiere ningún parámetro.

Devuelve una cadena de utf-8Encoding version. If an error occurs, it will raise a UnicodeDecodeError exception.

But it needs two parameters:

  • encoding -The encoding type must be encoded for the string

  • errors-Response when encoding fails. There are six types of error responses

    • strict-Default response, a UnicodeDecodeError exception is raised when failing

    • ignore-Ignore unencodable unicode from the result

    • replace-Replace unencodable Unicode with question mark?

    • xmlcharrefreplace-Insert XML character references instead of unencodable unicode

    • Backslash replacement-Insert \ uNNNN space sequences instead of unencodable unicode

    • namereplace-Insert \ N {...} escape sequences instead of unencodable unicode

Example1: Encoding is the default Utf-8Encoding

# Unicode string
string = 'pythön!'
# Output string
print('String:', string)
# Default encoding is utf-8
string_utf = string.encode()
# Output result
print('Encoding version is:', string_utf)

When running the program, the output is:

String: pythön!
Encoding version is: b'pyth\xc3\xb6n!

Example2Use incorrect encoding parameters

# Unicode string
string = 'pythön!'
# Output string
print('String:', string)
# Ignore error
print('Encoded version (ignore):', string.encode("ascii", "ignore"))
# Replace error
print('Encoded version (replace):', string.encode("ascii", "replace"))

When running the program, the output is:

String: pythön!
Encoded version (ignore) : b'pythn!'
Encoded version (replace) : b'pyth?n!'

Note:Try different encoding and error parameters.

Python string methods