转换日期时间.ctime()到Unicode的值

2024-10-01 09:20:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我想改信日期时间.ctime()值转换为Unicode。在

使用在Windows下运行的Python 2.6.4,我可以将我的语言环境设置为西班牙语,如下所示:

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'esp' )

然后我可以将%a、%a、%b和%b传递给ctime()以获取日、月名称和缩写。在

^{pr2}$

如何将“s\xe1bado”值转换为Unicode?具体地说,我使用什么编码?在

我在想我可能会做如下的事情,但我不确定这是正确的方法。在

>>> codePage = locale.getdefaultlocale()[ 1 ]
>>> dayNameUnicode = unicode( dayName, codePage )
>>> dayNameUnicode
u's\xe1bado'

马尔科姆


Tags: import语言环境windows时间unicodealllocale
3条回答

它是Unicode-当您在它上调用unicode()时,它变成了Unicode。您可以判断,因为当字符串用repr()显示时,它前面有一个u。请尝试使用print代替它:

>>> d = u's\xe1bado'
>>> d
u's\xe1bado'
>>> print d
sábado
>>>

unicode()string.decode()进行转换应该可以。唯一的问题应该是,在您的示例中,您使用默认语言环境的编码,即使您之前将语言环境设置为不同的内容。如果使用locale.getlocale()[1]而不是locale.getdefaultlocale()[1],则应该会得到正确的结果。在

这可能取决于你的操作系统。但数据看起来像拉丁语。在

>>> s.decode('latin1')
u's\xe1bado'

相关问题 更多 >