Everybody does work across an IO boundary. Python 3 had the idea to hide the boundary from you but that trick did not work, now they added escape hatches in through surrogate escapes and other things and made everything worse in the process.
Most people just produce broken code in Python 3 now because if you don't touch it too much, it seems to work.
Just getting command line arguments is boundary code.
It's an OS issue. CLI arguments and file names are always UTF-16 text on Windows and some unregulated binary stuff on UNIX that may or may not be some text in a system-wide locale that may have been changed by another application through setlocale. Naturally, choosing one approach somewhat breaks the other.
0
u/[deleted] May 26 '14
[deleted]