У меня есть программа командной строки, написанная на Python, и когда я передаю ее через другую программу в командной строке, sys.stdout.encoding
равен None
. Полагаю, это имеет смысл - вывод может быть другой программой, файлом, в который вы перенаправляете его, или чем-то еще, и он не знает, какая кодировка желательна. Но я тоже! Эта программа будет использоваться многими разными людьми (юмор меня) по-разному. Должен ли я играть безопасно и выводить только ascii (заменяя символы не-ascii знаками вопроса)? Или я должен вывести UTF-8, так как он так широко распространен в наши дни?