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

Основной учебник Python

Управление потоком Python

Функции Python

Типы данных Python

Файловые операции Python

Объекты и классы Python

Дата и время Python

Высокий уровень знаний Python

Руководство Python

Метод использования и примеры encode() строки Python

Методы строк Python

метод encode() строки использует указанное кодирование для кодирования строки. Если кодирование не указано, оно будет использовать UTF-8.

с Python 3.0开始Строкахранится в формате Unicode, то естьСтрокакаждый символ представлен кодовой точкой. Таким образом, каждая строка является последовательностью Unicode кодовых точек.

Для эффективного хранения этих строк кодовая точка последовательность преобразуется в набор байт. Этот процесс называетсяКодирование.

Существуют различные кодирования, которые обрабатывают строки по-разному. Популярные кодирования включаютutf-8,asciiи т.д.

Используя метод encode() строки, вы можете преобразовать не закодированную строку в любую поддержку Python кодирования. По умолчанию, Python используетutf-8Кодирование.

Синтаксис метода encode():

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

Параметр encode() строки

По умолчанию, метод encode() не требует никаких параметров.

Оно возвращает версию строки в формате utf-8. Если возникает ошибка, оно вызывает исключение UnicodeDecodeError.

но он требует двух параметров:

  • encoding -необходимо кодировать строку в тип кодировки

  • errors-ответ при кодировании失败. Есть шесть типов ответов ошибок

    • strict-по умолчанию ответ, при возникновении失败 вызовет UnicodeDecodeError исключение

    • ignore-пропуск некодируемого unicode из результата

    • replace-замена некодируемого Unicode на вопросительный знак?

    • xmlcharrefreplace-вставка XML символьная ссылка, а не некодируемые unicode

    • backslashreplace-вставка \ uNNNN espace последовательность, а не некодируемые unicode

    • namereplace-вставка \ N {...} последовательность escape, а не некодируемые unicode

Пример 1: Кодирование по умолчанию Utf-8 кодировкой

# unicode строка
string = 'pythön!'
# вывод строки
print('Строка:', string)
# по умолчанию кодировка utf-8
string_utf = string.encode()
# вывод результата
print('Версия кодировки:', string_utf)

При выполнении этого программы, вывод будет:

Строка: pythön!
Версия кодировки: b'pyth\xc3\xb6n!'

Пример 2: Кодирование с параметрами ошибок

# unicode строка
string = 'pythön!'
# вывод string
print('Строка:', string)
# ошибка ignore
print('Версия кодировки после кодирования (ignore) :', string.encode("ascii", "ignore"))
# ошибка замены
print('Версия кодировки после кодирования (replace) :', string.encode("ascii", "replace"))

При выполнении этого программы, вывод будет:

Строка: pythön!
Версия кодировки после кодирования (ignore) : b'pythn!'
Версия кодировки после кодирования (replace) : b'pyth?n!'

Внимание:Попробуйте разные кодировки и параметры ошибок.

Методы строк Python