On Dec 5, 2008, at 5:27 AM, Ulrich Eckhardt wrote:
Using the byte variant is equally fubar, because e.g. on MS Windows it is not
supported, except through a very lossy roundtrip through the locale's
codepage, limiting your functionality.


Yeah, IMO whole mess could have been avoided by keeping the filename/ args/environ simply *bytes*, like it really is, on unix. Then, make the Windows version of python use (always! not dependent upon locale!) utf-8 to decode the utf-8 bytestring to the UTF-16 that the Windows platform APIs expect (and vice versa). And never use the ASCII variant of the windows APIs.

This would mean that all *inputs* would succeed, but some *outputs* would not, on Windows. But that's not a new kind of failure: NUL has never been allowed in argv/environ, and filenames have all sorts of platform-dependent restrictions.

But unfortunately, it's too late for that solution...

James
_______________________________________________
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