@Guerro69

Что нужно сделать, чтобы функция printf отображала верно русский текст?

Решил поиграться с dll с помощью ctypes и в системном файле msvcrt.dll нашёл функцию printf
ничем особенным она не выделяется кроме того, что она принимает в себя байты, но мне всё же стало интересно. Сразу же я вывел в нём b'Hello World!' и всё отобразилось верно, потом написал на Русском языке, на что получил ошибку:
SyntaxError bytes can only contain ASCII literal characters.

После этого я записал вот так: b'Привет Мир'.encode('ascii')
после чего получил ошибку
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)

тогда я попробовал разные кодировки: cp1251, utf-8, windows-1251
И всё прекрасно сработало, но в консоли я видел кракозябры, как же тога сделать нормальный вывод Русских символов в консоли с помощью функции printf?
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
@galaxy
cp866 попробуйте
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы