Я пытаюсь обрабатывать различные кодировки в скрипте Python, более удобный и автоматический магии (есть API для utf8). Это межплатформенный консольный скрипт.Что делать, если sys.stdout.encoding - None?
Для печати на stdout
Я использую sys.stdout.encoding
и, похоже, почти всегда при печати на консоль. Однако, когда stdout составляет , труба становится None
.
Так что в этом случае я предполагаю, что я трубопровод в файл и использовать locale.getpreferredencoding()
но:
- Я не уверен, что это правильное кодирование для печати в файл, но он работает довольно кроссплатформенность.
- Это не работает, если Трубопровод к программе
|
. Я не знаю, как определить, что это не так, если есть стандартное или ожидаемое поведение для кодирования в этом случае.