On 01/11/2012 06:27 AM, pyscrip...@gmail.com wrote:
<SNIP>
Maybe the example of this question can be added to the issue 13785 as a proof 
that compile fails on valid file names.

But I think the real issue is why on modern Windows systems the file system 
encoding is mbcs.  Shouldn't it be utf-16?
Depends what you mean by modern. The following isn't true for Windows 95, 98, nor ME. But they weren't modern when they were first released.

NT systems, (which includes Win2k, XP, Vista, and Win7) for at least the last 15 years, have used Unicode for the file system. They also supply an "ASCII" interface. If Python is using the latter, then it won't be able to access all possible files.

Now, it may be the fault of the C library that CPython uses. I haven't looked at any of the code for CPython.

This is all from memory, as I haven't actively used Windows for some time now. But I think the DLL name is kernel32.dll, and the entry points have names like CreateFileW() for the unicode open, and CreateFileA() for the "ASCII" open.

--

DaveA

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to