Python输出\u编码将其转换成中文 您所在的位置:网站首页 python27中文字符串 Python输出\u编码将其转换成中文

Python输出\u编码将其转换成中文

2023-03-31 14:00| 来源: 网络整理| 查看: 265

string格式,举例: str = '\u897f' print str.decode("unicode-escape")

结果:西

但如果是list格式,则不适用

例如:

list = [u'\u897f'] print str(list).decode("unicode-escape")

结果:['\u897f']

需要改为:

list = [u'\u897f'] s = str(list).replace('u\'','\'') print s.decode("unicode-escape")

结果:['西‘]

list赋值的时候,

#!/usr/bin/python # -*- coding=utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") l = [] s0 = '西0' s1 = u'西1' s2 = '\u897f2' s3 = u'\u897f2' l.append(s0.decode("unicode-escape")) l.append(s1.decode("unicode-escape")) l.append(s2.decode("unicode-escape")) l.append(s3.decode("unicode-escape")) print '有转码:{}'.format(str(l).replace('u\'','\'').decode("unicode-escape")) print '不替换:{}'.format(str(l).decode("unicode-escape")) l0 = [] l0.append(s0) l0.append(s1) l0.append(s2) l0.append(s3) print '无转码:{}'.format(str(l0).replace('u\'','\'').decode("unicode-escape")) print '不替换:{}'.format(str(l0).decode("unicode-escape")) l0 = [] l0.append(s0.encode('utf_8')) l0.append(s1.encode('utf_8')) l0.append(s2.encode('utf_8')) l0.append(s3.encode('utf_8')) print '无转码:{}'.format(str(l0).replace('u\'','\'').decode("unicode-escape")) print '不替换:{}'.format(str(l0).decode("unicode-escape")) l0 = [] l0.append(s0.decode('utf_8')) l0.append(s1.decode('utf_8')) l0.append(s2.decode('utf_8')) l0.append(s3.decode('utf_8')) print '无转码:{}'.format(str(l0).replace('u\'','\'').decode("unicode-escape")) print '不替换:{}'.format(str(l0).decode("unicode-escape"))

结果:

有转码:['西0', '西1', '西2', '西2'] 不替换:[u'西0', u'西1', u'西2', u'西2'] 无转码:['西0', '西1', '\u897f2', '西2'] 不替换:['西0', u'西1', '\u897f2', u'西2'] 无转码:['西0', '西1', '\u897f2', '西2'] 不替换:['西0', '西1', '\u897f2', '西2'] 无转码:['西0', '西1', '\u897f2', '西2'] 不替换:[u'西0', u'西1', u'\u897f2', u'西2']

总结:

 【python3】

  文件默认编码是utf-8 , 字符串编码是 unicode  以utf-8 或者 gbk等编码的代码,加载到内存,会自动转为unicode正常显示。

【python2】

文件默认编码是ascii , 字符串编码也是 ascii , 如果文件头声明了是gbk,那字符串编码就是gbk。以utf-8 或者 gbk等编码的代码,加载到内存,并不会转为unicode,编码仍然是utf-8或者gbk等编码。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有