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