On 11/11/22, 12Jessicasmith34 <12jessicasmit...@gmail.com> wrote: > > any idea why this would be happening in this situation? AFAIK, stdout > *is* a console when these images are running the python process.
If sys.std* are console files, then in Python 3.6+, sys.std*.buffer.raw will be _io._WindowsConsoleIO. The latter presents itself to Python code as a UTF-8 file stream, but internally it uses UTF-16LE with the wide-character API functions ReadConsoleW() and WriteConsoleW(). > is there a way I can check the locale and code page values that you > mentioned? I assume I could call GetACP using ctypes, but maybe > there is a simpler way? io.TextIOWrapper uses locale.getpreferredencoding(False) as the default encoding. Actually, in 3.11+ it uses locale.getencoding() unless UTF-8 mode is enabled, which is effectively the same as locale.getpreferredencoding(False). On Windows this calls GetACP() and formats the result as "cp%u" (e.g. "cp1252"). -- https://mail.python.org/mailman/listinfo/python-list