>________________________________ > From: eryksun <eryk...@gmail.com> >To: Albert-Jan Roskam <fo...@yahoo.com> >Cc: Python Mailing List <tutor@python.org> >Sent: Tuesday, December 18, 2012 4:07 PM >Subject: Re: [Tutor] sys.getfilesystemencoding() > >On Tue, Dec 18, 2012 at 8:13 AM, Albert-Jan Roskam <fo...@yahoo.com> wrote: >> >>In windows xp, the characters can, apparently, not be represented >>in this encoding called 'mbcs'. > >MBCS (multibyte character set) refers to the locale encoding on >Windows. CPython encodes to MBCS via the Win32 function >WideCharToMultiByte, with the CP_ACP code page (i.e. the system >default 'ANSI' encoding): > >unicodeobject.c, encode_mbcs (3877-3884): >http://hg.python.org/cpython/file/8803c3d61da2/Objects/unicodeobject.c#l3843 > >WideCharToMultiByte: >http://msdn.microsoft.com/en-us/library/windows/desktop/dd374130
Hi again, Thank you for your reply. Oscar, also thanks for your reply; our e-mails yesterday. So MBCS is just a collective noun for whatever happens to be the installed/available codepage of the host computer (at least with CP_ACP)? I didn't know anything about wintypes and I find it quite hard to understand! I am trying to write a ctypes wrapper for WideCharToMultiByte. It takes a unicode path name and (is supposed to) returns a bytestring using the utf8 codepage: http://pastebin.com/SEr4Wec9 . The code is kinda verbose, but I hope this makes it easier to read. Does this makes sense at all? As for now, the program returns an error code (oddly, zero is an error code here). I chose CP_UTF8 instead of CP_ACP because I don't want the conversion to depend on some (arbitrary) system default Windows ANSI code page. Regards, Albert-Jan _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor