Решил поиграться с 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?