这是我制作的一个示例程序:

>>> print u'\u1212'
ሒ
>>> print '\u1212'
\u1212
>>> print unicode('\u1212')
\u1212

为什么我在\u1212时得到而不是print unicode('\u1212')
我正在制作一个程序来存储数据而不是打印它,那么我如何存储而不是\u1212?现在很明显我不能这样做:
x = u''+unicode('\u1212')

有趣的是,即使我这么做了,我得到的是:
\u1212

我认为值得一提的另一个事实是:
>>> u'\u1212' == unicode('\u1212')
False

如何存储或其他类似字符而不是\uxxxx

最佳答案

'\u1212'是一个包含6个字符的ASCII字符串:\u1212
unicode('\u1212')是包含6个字符的Unicode字符串:\u1212u'\u1212'
是具有一个字符的Unicode字符串:'\u1212'
如果你想的话,你应该在四周使用Unicode字符串。

u'\u1212'

如果出于某种原因需要将u'\u1212'转换为,请使用
'\u1212'.decode('unicode-escape')

(注意,在Python 3中,字符串总是Unicode格式的。)

08-25 00:56