[python IO学习篇]补充打开中文路径的文件

http://blog.csdn.net/mottolinux/article/details/52560062
1 关于Python编码的基本常识 在python里面 “明文”是unicode类型和str , “密文”是其他的编码格式 如gbk utf- latin-1等等
编码: “明文”->”密文” .encode([目标编码格式]) 对象必须为unicode类型
解码: “密文”->”明文” .decode([源编码格式]) 对象为str类型
对于汉字 一共有三大类编码方式
以中文汉字”李”为例子
a. unicode类 机器码 \x67\x4e
unicode(python表示) \u674e
HTML Entity &#x674E
UTF-(BE) 0x674E
UTF-(BE) 0x0000674E
b. UTF-8类 机器码 \xe6\x9d\x8e
UTF-(python表示) \xe6\x9d\x8e
URL Escape Code %E6%9D%8E
Octal Escape Sequence \\\
c. gb类 机器码 \xc0\xee
gb2312 gbk gb18030 \xc0\xee
 设置 .py文件上的中文编码格式

    ()py文件内容上出现字符串上的中文
()包括前面带u的(转换成unicode格式的字符串) 首先也是根据设置的文件编码格式读取字符串文字量 再作unicode的转换
()如果添加了#coding=utf-,则将中文按utf-8转成unicode
()如果没有添加#coding=utf-,则按系统默认的编码格式
()系统的默认编码,获取代码:
sys.getdefaultencoding() 如何设置.py文件的编码格式:
()#coding=<encoding> ()<encoding>根据编辑器不同而不同
sublime 编辑器默认是utf-
win7自带的操作系统:asciii /gbk--要读取中文,要gbk
可以另存为:utf-
win7文件名是中文或者文件夹是中文
()都是gbk编码
()读写文件时,必须open(.....encode('gbk'),'r')
win7文件上的内容包含中文
()和4的不一样
()文件的内容要根据编码的格式(记事本可能另存为)
()建议编码成utf-,sublime打开不需要转换
爬虫结果的存储
()现在的网页基本都是UTF-8编码(HTML5默认编码)
()经过BeautifulSoup处理后的HTML元素内容 类型为NavigableString
()可以直接print 由第3点可推断出 NavigableString底层类型为unicode
()经过.replace()方法后可转换为unicode类型 不提倡
()不使用sys.setdefaultencoding(‘utf-’)解决编码问题
其他
()字符串中间处理过程全部转化为unicode处理 只在数据的入口和出口作相应的.decode()和.encode()处理
上一篇:python之路(十七)-javascript


下一篇:python listdir() 中文路径 中文文件夹 乱码 解决方法