Converting datetime.ctime() values to Unicode

python at bdurham.com python at bdurham.com
Mon May 17 14:14:27 EDT 2010


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 at bdurham.com
To: python-list at 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




More information about the Python-list mailing list