Python Glossary English

Python 3.11+localeфункция

locale.getencoding()

кодировка

Возвращает кодировку текущей локали (LC_CTYPE), не обращая внимания на режим UTF-8 Python.

Синтаксис

locale.getencoding()

В отличие от getpreferredencoding(False), режим UTF-8 её не переубеждает: на русской Windows она вернёт 'cp1251', даже когда open() уже пишет в UTF-8. Это важно с 3.15, где режим UTF-8 включён по умолчанию: getencoding() показывает кодировку системы, а не ту, которой Python открывает файлы. Функция появилась в 3.11 как замена устаревшим способам узнать кодировку.

Примеры

import locale
import sys
print(locale.getencoding())  # → ? UTF-8 или cp1251 — кодировка системы
print(locale.getpreferredencoding(False))  # → ? utf-8 в режиме UTF-8
print(sys.flags.utf8_mode)  # → ? 1 — по умолчанию с 3.15

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности