Кодировка строки Python ()

Метод 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! '

Примечание. Попробуйте также другие параметры кодировки и ошибки.

Интересные статьи...