↑ 收起筛选 ↑
python字符串转uniCoDE
2020-10-04

实现代码如下:a = 'abce'# print type(a)b = a.decode("ascii")# print type(b)c = a.decode("ascii").encode("utf-8")# print type(c) 在python中进行编码转换都是通过unicode作为中间值实现的.所以要先decode成unicode字符,然后再使用encode转换成utf-8编码的str.可以把注释取消了,看下转换过程中的类型.

我有一个比较变态的解决方法----利用json来解析.因为json在编码时会被转化为unicode字符串,将这个字符串拼接到一个json中,再解析,就可以达到目的.import jsons = u'\\uff0c\\u73b0\\u573arose\\u732e\\u6b4c\\u906d\\u4f17\\u4eba\\u56f4\\u89c2'ss = s.encode('utf8')x = json.loads('{"foo":"%s"}' % ss)print x['foo']这时,x['foo']已经是正常的unicode对象了.其实你看到的双斜杠\\只是一个斜杠,因为斜杠是转义字符.

这本来就是unicode编码 前面加一个u再打印就可以了 print u'\u559c\u6b22\u4e00\u4e2a\u4eba'

python2unicode("文字")python3,直接输入字符串就是unicode

'\u56c3\u67e4' 转 u'\u56c3\u67e4': 方法1: text = eval("u"+"'\u56c3\u67e4'") 方法2: s = '\u56c3\u67e4' text = "".join(unichr(int(c, 16)) for c in s.split('\u')[1:])

普通字符串可以用多种方式编码成Unicode字符串,具体要看你究竟选择了哪种编码:unicodestring = u"Hello world" # 将Unicode转化为普通Python字符串:"encode" utf8string = unicodestring.encode("utf-8") asciistring = unicodestring.

decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串转换成unicode编码. encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串转换成

本身的文档是utf-8的话 直接用encode su = su.encode('utf-8')>>> u'中国'.encode('utf-8')'\xe4\xb8\xad\xe5\x9b\xbd'>>> print u'中国'.encode('utf-8') 中国

python2添加u前缀,比如u"abc".python3默认就是unicode字符串,加不加u前缀都一样.

python2.x版中的"abc"字符串是本地编码比如GBK,u"abc"是unicodepython3.x版中的只有"abc"字符串是unicode都可以转换为包括ascii在内的常用编码,

延伸阅读: