English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
метод 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() не требует никаких параметров.
Оно возвращает версию строки в формате utf-8. Если возникает ошибка, оно вызывает исключение UnicodeDecodeError.
но он требует двух параметров:
encoding -необходимо кодировать строку в тип кодировки
errors-ответ при кодировании失败. Есть шесть типов ответов ошибок
strict-по умолчанию ответ, при возникновении失败 вызовет UnicodeDecodeError исключение
ignore-пропуск некодируемого unicode из результата
replace-замена некодируемого Unicode на вопросительный знак?
xmlcharrefreplace-вставка XML символьная ссылка, а не некодируемые unicode
backslashreplace-вставка \ uNNNN espace последовательность, а не некодируемые unicode
namereplace-вставка \ N {...} последовательность escape, а не некодируемые unicode
# unicode строка string = 'pythön!' # вывод строки print('Строка:', string) # по умолчанию кодировка utf-8 string_utf = string.encode() # вывод результата print('Версия кодировки:', string_utf)
При выполнении этого программы, вывод будет:
Строка: pythön! Версия кодировки: b'pyth\xc3\xb6n!'
# 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!'
Внимание:Попробуйте разные кодировки и параметры ошибок.