> Sorry, maybe I'm just being thick here, but I don't understand how that 
> is possible. On the physical disk, each Windows file name must be 
> represented by a byte string, yes? So how is it possible that there are 
> Windows files with names that can't be represented as a byte string? 
> What have I missed?

That we are not really free to choose the byte representation when
choosing byte strings. Microsoft has defined how char* (i.e. byte
strings) are to be interpreted when interpreting them as byte strings,
namely in the ANSI code page. That code page is not capable of
representing all file names.

We could, for example, use the same representation as is used on disk.
However,
a) there is no API to find out what that representation is, and
b) it is not null-byte free, a property often desired for file names,
   and
c) because it contains null bytes, it won't be easy to display such
   file names on stdout, or in a GUI window.

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