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 IO学习篇]补充打开中文路径的文件的更多相关文章

  1. [python IO学习篇] 补充.py文件是中文, .ini文件内容是中文

    python 代码文件的编码.py文件默认是ASCII编码,中文在显示时会做一个ASCII到系统默认编码的转换,这时就会出错:SyntaxError: Non-ASCII character.需要在代 ...

  2. [python IO学习篇] 补充中文编码

    http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386820066616a7 ...

  3. [python IO学习篇] [打开包含中文路径的文件]

    https://my.oschina.net/mcyang000/blog/289460   打开路径含有中文的文件时,要注意: 1 在windows对文件名编码是采用gbk等进行编码保存,所以要将文 ...

  4. Java NIO 学习笔记(五)----路径、文件和管道 Path/Files/Pipe

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  5. python 兼容中文路径 + 目标文件是否是图像格式判断

    1. 中文路径兼容python程序如果路径中包含中文字符,不加处理会有类似报错:'ascii' codec can't decode byte 0xxx in position xx:ordinal ...

  6. Python基础学习笔记---5.输入\输出 I\O文件操作目录

    在很多时候,你会想要让你的程序与用户(可能是你自己)交互.你会从用户那里得到输入,然后打印一些结果.我们可以分别使用 raw_input 和 print 语句来完成这些功能.对于输出,你也可以使用多种 ...

  7. cad.net 利用win32api实现不重复打开dwg路径的文件夹(资源管理器)

    这里地址的方法也是可用的,但是net3.5不能使用 为此我选择使用win32api的方式来遍历当前桌面所有资源管理器 /// <summary> /// 不重复打开dwg路径的资源管理器 ...

  8. Qt、Vc下用fopen打开中文名字的文件(转换成Unicode后,使用_wfopen函数)

    在做一个Qt项目的时候,完成上传文件时,通过fopen打开文件用来读时发现fopen不能打开中文的文件名,自己在网查找一下,解决方法如下 参考:http://weidaohang.org/wanglu ...

  9. [python][django学习篇][3]创建django web的数据库模型

    推荐学习博客:http://pythonzh.cn/post/8/ 博客或者web界面向用户展示内容,它需要从某个地方获取博客内容或者web界面内容,才能够展示出来.通常来说:某个地方指的就是数据库 ...

随机推荐

  1. JavaScript执行顺序分析

    之前从JavaScript引擎的解析机制来探索JavaScript的工作原理,下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥 ...

  2. Codeforces Round #141 (Div. 2)

    A. Is your horseshoe on the other hoof? 模拟题意. B. Two Tables 暴力枚举\(x,y\). C. Fractal Detector 显然,判断图形 ...

  3. LeetCode【第217题】Contains Duplicate

    题目: ''' Given an array of integers, find if the array contains any duplicates. Your function should ...

  4. 转: pthread_create()

    pthread_create函数 原型:int  pthread_create((pthread_t  *thread,  pthread_attr_t  *attr,  void  *(*start ...

  5. 滚动视图(ScrollView)的功能与用法

    滚动视图ScrollView由FrameLayout派生而出,它就是一个用于为普通组件添加滚动条的组件.ScrollView里最多只能包含一个组件,而ScrollVew的作用就是为该组件添加垂直滚动条 ...

  6. JS中的闭包问题

    一.闭包:在函数外也可使用局部变量的特殊语法现象 全局变量 VS 局部变量: 全局变量:优点:可共享,可重用; 缺点:在任意位置都可随意修改——全局污染 局部变量:优点:安全 缺点:不可共享,不可重用 ...

  7. JavaScript单线程的疑问与解答

    问: JavaScript是单线程的,有任务队列,比如使用setTimeou(func,secs)来在secs毫秒后向任务队列添加func.但是,setTimeout后面跟一个死循环,那么死循环导致任 ...

  8. 通过阿里云命令行工具 aliyuncli 购买服务器

    开始想通过 aliyuncli 的 golang 源码进行编译安装(注:python 版的 aliyuncli 已不再维护),但没成功,详见 通过 golang 源码编译阿里云命令行工具 aliyun ...

  9. 集合求交集 &amp; 去除列表中重复的元素

    集合求交集: set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} 交集:set3 = set1 & set2 print(ste3) #结果为{4,5} 或者ste1. ...

  10. Logger级别和输出的地方

    转载自http://blog.csdn.net/u014756827/article/details/52475990 log4j日志配置 关键字: apache log4j 1.配置根Logger: ...