码迷,mamicode.com
首页 > 编程语言 > 详细

[python 学习] 编码

时间:2017-11-03 18:59:29      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:src   python 2   文件   类型   windows   .com   默认   window   文件的   

一、源文件编码(encoding: utf-8)

1、

技术分享

python 2.x 默认按ascii编码读取源文件,源码中出现了ascii不能表示的字符 "的",所以报错(3.x版本不报错)。

 

2、

技术分享

源码中加上 encoding: utf-8,此时允许源文件中出现非ascii字符,但是在windows的DOS中输出时还会再转码(此处转为GBK)。 

 

3、

技术分享

源文件的编码和dos的输出编码都是GBK,这时内容一致。

技术分享

同上。

 

二、字符串编码

1、字符串存储的默认编码:

python 2.7

技术分享

python 3.3.3

技术分享

2、unicode对象和普通字符串str

技术分享

对 s 按 utf-8 解码到unicode对象,再对unicode对象按gbk编码。

技术分享

直接对str字符串按gbk编码出错,是因为字符串的默认编码(python 2.7)是ascii,默认执行 s.decode(‘ascii‘).encode(‘gbk‘),所以出错。

技术分享

设置了字符串默认编码为utf-8,不会再报错。

python中我们使用decode()和encode()来进行解码和编码
在python中,使用unicode类型作为编码的基础类型。即:
      decode           encode
str--------->unicode--------->str

适用 python 2.x , python 3.x 又变了,一个版本一个语言。

 

三、basestring、str、unicode

3.1 str 和 unicode 都是 basestring 的子类:

技术分享

 3.2 使用 str 创建 unicode 对象:

技术分享

 

参见:http://www.cnblogs.com/evening/archive/2012/04/19/2457440.html

[python 学习] 编码

标签:src   python 2   文件   类型   windows   .com   默认   window   文件的   

原文地址:http://www.cnblogs.com/natian-ws/p/7779077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!