python2 怎么将unicode编码转成中文

Python09

python2 怎么将unicode编码转成中文,第1张

1、python2与python3稍微有点区别

2、python2中默认的字符编码格式都是unicode,在字符串前加'u',表示unicode 编码

3、将unicode转换成中文,只需要用deconde解码就可以了!

操作方法:

1.程序中出现有使用中文的地方

但是代码中并没有声明采用的编码格式。

2.由于代码中没有指定编码方式,执行这段程序时会出现如下错误。

3.解决方案一:加载python代码前面加上【#coding=utf-8】

加上这段代码申明使用utf-8编码

4.此时再执行原来的程序,将会正常打印出中文

5.解决方案二:加载python代码前面加上【-*- coding: utf-8 -*-】

6.结果依旧可以正常打印中文

因为windows默认的编码方式是GBK,python文件保存时使用了utf-8,在读取时,python使用GBK的编码表去解utf-8编码的字节码,因为GBK与UTF-8编码不兼容,自然出现了乱码问题

解决方法

1.直接使用 u'是' 形式,指明以unicode编码,解码方式会以顶部 #coding定义的编码方式,如果不写,以操作系统当前编码方法,建议写上#coding,因为要让操作系统编码和源文件编码经常会不一样。推荐使用这种方式

2.输出时指定解码方法  print '是'.decode("utf8") ,必须和保存的编码一致,忽略#coding的定义

3.将#coding 和保存编码改为和操作系统一样的编码,就可以直接print '是' 正常输出,也不推荐,因为需要事先知道操作系统编码,复制到其他电脑上,操作系统编码不一样就会出错

#coding=gbk

print u'是' #方法1

print '是'.decode("gbk") #方法2

print '是' #方法3

注意:

#coding指明的编码必须和保存的编码一样,不然1,3方法都会产生错误,原因也是保存编码和读取编码不一致。一般IDE能够自动根据#coding保存文件