Задать вопрос
@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?
  • Вопрос задан
  • 185 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
@galaxy
cp866 попробуйте
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы