Python 之编码解码

首先,在Python2.7版本下运行一句输出:

# -*- coding: UTF-8 -*-
temp = '李杰'
print temp

在IDE运行输出,正常

>>>李杰

然后,相同的代码在window终端运行,结果是:

window终端为什么显示这样呢?

这是因为window终端默认的编码是GBK,而python IDE是UFT8的编码,导致了window终端不认识UTF8编码的字节。如果说要是终端能够正常显示,需要在pyhton输出的时候以GBK的编码方式输出。

那么怎么使pythonutf8编码输出变成以gbk输出呢?

这就要说python里的编码与解码了

首先,要将utf8先解码成unicode

然后,unicode在编码成gbk

代码如下:

# -*- coding: UTF-8 -*-
temp = '李杰'
# utf8 解码成unicode
temp_unicode = temp.decode('utf8')
# unicode 编码成gbk
temp_gbk = temp_unicode.encode('gbk')
# 以gbk的方式输出
print temp_gbk

再去终端运行:

但是,在python ide上运行却...

一样的道理,IDE是utf8编码,输出是以GBK的方式输出,所以IDE不能识别。

 

posted @ 2016-10-12 17:28  TianTianLi  阅读(76)  评论(0)    收藏  举报