我想改信日期时间.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'
马尔科姆
它是Unicode-当您在它上调用
unicode()
时,它变成了Unicode。您可以判断,因为当字符串用repr()
显示时,它前面有一个u
。请尝试使用print
代替它:用
unicode()
或string.decode()
进行转换应该可以。唯一的问题应该是,在您的示例中,您使用默认语言环境的编码,即使您之前将语言环境设置为不同的内容。如果使用locale.getlocale()[1]
而不是locale.getdefaultlocale()[1]
,则应该会得到正确的结果。在这可能取决于你的操作系统。但数据看起来像拉丁语。在
相关问题 更多 >
编程相关推荐