Метод encode () строки возвращает закодированную версию данной строки.
Начиная с Python 3.0, строки хранятся как Unicode, т.е. каждый символ в строке представлен кодовой точкой. Итак, каждая строка - это просто последовательность кодовых точек Unicode.
Для эффективного хранения этих строк последовательность кодовых точек преобразуется в набор байтов. Этот процесс известен как кодирование .
Существуют различные кодировки, которые по-разному обрабатывают строку. Популярные кодировки: utf-8 , ascii и т. Д.
Используя строковый encode()
метод, вы можете преобразовывать некодированные строки в любые кодировки, поддерживаемые Python. По умолчанию Python использует кодировку utf-8 .
Синтаксис encode()
метода:
string.encode (кодировка = 'UTF-8', errors = 'strict')
Параметры String encode ()
По умолчанию encode()
метод не требует никаких параметров.
Он возвращает версию строки в кодировке utf-8. В случае сбоя возникает UnicodeDecodeError
исключение.
Однако он принимает два параметра:
- кодировка - тип кодировки, в который должна быть закодирована строка
- ошибки - ответ при сбое кодирования. Есть шесть типов реакции на ошибку
- strict - ответ по умолчанию, который вызывает исключение UnicodeDecodeError при сбое
- ignore - игнорирует некодируемый юникод из результата
- replace - заменяет некодируемый юникод на вопросительный знак ?
- xmlcharrefreplace - вставляет ссылку на символ XML вместо некодируемого юникода
- backslashreplace - вставляет escape-последовательность uNNNN вместо некодируемого юникода
- namereplace - вставляет escape-последовательность N (…) вместо некодируемого юникода
Пример 1: кодирование в кодировку Utf-8 по умолчанию
# unicode string string = 'pythön!' # print string print('The string is:', string) # default encoding to utf-8 string_utf = string.encode() # print result print('The encoded version is:', string_utf)
Вывод
Строка: pythön! Закодированная версия: b'pyth xc3 xb6n! '
Пример 2: Кодирование с параметром ошибки
# unicode string string = 'pythön!' # print string print('The string is:', string) # ignore error print('The encoded version (with ignore) is:', string.encode("ascii", "ignore")) # replace error print('The encoded version (with replace) is:', string.encode("ascii", "replace"))
Вывод
Строка: pythön! Закодированная версия (с игнорированием): b'pythn! ' Закодированная версия (с заменой): b'pyth? N! '
Примечание. Попробуйте также другие параметры кодировки и ошибки.