Guido van Rossum wrote:
>>If stdin, stdout and stderr go to a terminal, there already is a
>>default encoding (actually, there always is a default encoding on
>>these, as it falls back to the system encoding if its not a terminal,
>>or if the terminal's encoding is not supported or cannot be determined).
> 
> 
> So there is. Wow! I never kew this. How does it work? Can we use this
> for writing to files to?

On Unix, it uses nl_langinfo(CHARSET), which in turn looks at the
environment variables.

On Windows, it uses GetConsoleCP()/GetConsoleOutputCP().

On Mac, I'm still searching for a way to determine the encoding of
Terminal.app.

In IDLE, it uses locale.getpreferredencoding().

So no, this cannot easily be used for file output. Most likely, people
would use locale.getpreferredencoding() for file output. For socket
output, there should not be a standard way to encode Unicode.

Regards,
Martin

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to