From: python on 17 May 2010 13:54 I would like to convert datetime.ctime() values to Unicode. Using Python 2.6.4 running under Windows I can set my locale to Spanish like below: >>> import locale >>> locale.setlocale(locale.LC_ALL, 'esp' ) Then I can pass %a, %A, %b, and %B to ctime() to get day and month names and abbreviations. >>> import datetime >>> dateValue = datetime.date( 2010, 5, 15 ) >>> dayName = dateValue.strftime( '%A' ) >>> dayName 's\xe1bado' How do I convert the 's\xe1bado' value to Unicode? Specifically what encoding do I use? I'm thinking I might do something like the following, but I'm not sure this is the right approach. >>> codePage = locale.getdefaultlocale()[ 1 ] >>> dayNameUnicode = unicode( dayName, codePage ) >>> dayNameUnicode u's\xe1bado' Feedback appreciated. Regards, Malcolm
From: python on 17 May 2010 14:14 In researching a solution, I believe locale.getpreferredencoding() might be a better choice (than locale.getdefaultlocale()[ 1 ]) for determining a system's default encoding? In other words change: >>> codePage = locale.getdefaultlocale()[ 1 ] To this: >>> codePage = locale.getpreferredencoding() .... in my original post's code (original post follows my signature). Malcolm ----- Original message ----- From: python(a)bdurham.com To: python-list(a)python.org Date: Mon, 17 May 2010 13:54:27 -0400 Subject: Converting datetime.ctime() values to Unicode I would like to convert datetime.ctime() values to Unicode. Using Python 2.6.4 running under Windows I can set my locale to Spanish like below: >>> import locale >>> locale.setlocale(locale.LC_ALL, 'esp' ) Then I can pass %a, %A, %b, and %B to ctime() to get day and month names and abbreviations. >>> import datetime >>> dateValue = datetime.date( 2010, 5, 15 ) >>> dayName = dateValue.strftime( '%A' ) >>> dayName 's\xe1bado' How do I convert the 's\xe1bado' value to Unicode? Specifically what encoding do I use? I'm thinking I might do something like the following, but I'm not sure this is the right approach. >>> codePage = locale.getdefaultlocale()[ 1 ] >>> dayNameUnicode = unicode( dayName, codePage ) >>> dayNameUnicode u's\xe1bado' Feedback appreciated. Regards, Malcolm -- http://mail.python.org/mailman/listinfo/python-list
From: Jerry Hill on 17 May 2010 14:32 On Mon, May 17, 2010 at 2:14 PM, <python(a)bdurham.com> wrote: > In researching a solution, I believe locale.getpreferredencoding() might > be a better choice (than locale.getdefaultlocale()[ 1 ]) for determining > a system's default encoding? I haven't used the locale module a lot, but it seems to me that if you're setting the locale with locale.setlocale(), you should get the encoding from locale.getlocale()[1]. You're not really interested in the system's default encoding at this point, you're interested in the encoding of the locale you've explicitly set. -- Jerry
|
Pages: 1 Prev: Installing Lightweight Python Next: Python3 buffer extra byte?? |