84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
想请问下拿到一串unicode编码串,要怎么才能转换中文输出
我发现直接
print u'\u4ed7\u5251\u5929\u6daf'
或者
a = u"\u4ed7\u5251\u5929\u6daf" print a
是可以输出中文
但是如果把串赋值到变量,用decode,encode转换都不行
a = '\u4ed7\u5251\u5929\u6daf'
不知道怎样print a才能输出中文了?
人生最曼妙的风景,竟是内心的淡定与从容!
在Python3中,字符串类型全改成unicode的了,你如下用没问题,输出是一样的
# -*- coding: utf-8 -*- a = u"\u4ed7\u5251\u5929\u6daf" print(a, len(a), type(a)) b = "\u4ed7\u5251\u5929\u6daf" print(b, len(b), type(b))
而在Python2.7中,加u表示unicode,不加表示字符串,所以你直接去掉u并得到的并不是等价的字符串,你可以分别打印数据类型、字符串长度就能看出来
最后一句话a = 'u4ed7u5251u5929u6daf'a 实际上已经是字符串了因此要把a转换成unicode才能print打印中文,可以使用print a.decode('unicode-escape')参考http://stackoverflow.com/questions/10268518/python-string-to-unicode
最后一句 a = 'u4ed7u5251u5929u6daf' 为什么要把引号前的u丢掉呢?
Python字符串前面那个u表示这个字符串要以unicode编码来解析。你使用decode,意思是你要将'u4ed7u5251u5929u6daf'这个字符串,转成unicode编码。
在Python3中,字符串类型全改成unicode的了,你如下用没问题,输出是一样的
而在Python2.7中,加u表示unicode,不加表示字符串,所以你直接去掉u并得到的并不是等价的字符串,你可以分别打印数据类型、字符串长度就能看出来
最后一句话
a = 'u4ed7u5251u5929u6daf'
a 实际上已经是字符串了
因此要把a转换成unicode才能print打印中文,
可以使用
print a.decode('unicode-escape')
参考
http://stackoverflow.com/questions/10268518/python-string-to-unicode
最后一句 a = 'u4ed7u5251u5929u6daf' 为什么要把引号前的u丢掉呢?
Python字符串前面那个u表示这个字符串要以unicode编码来解析。
你使用decode,意思是你要将'u4ed7u5251u5929u6daf'这个字符串,转成unicode编码。