84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
想请问下拿到一串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编码。