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. python+selenium之数据库连接

    首先要安装Python和MySQL的连接工具 下载地址如下: https://pypi.python.org/pypi/PyMySQL https://github.com/PyMySQL/PyMyS ...

  2. LibreOJ #514. 「LibreOJ β Round #2」模拟只会猜题意

    内存限制:256 MiB 时间限制:1000 ms 标准输入输出 题目类型:传统 评测方式:文本比较 题目描述 给定一个长度为 nnn 的序列 AAA . 定义 f(l,r)=∑i=lrAif(l,r ...

  3. UWP开发:存储容器设置&复合设置数据

    有时候为了将应用设置进行分类,需要创建新的容器进行存储应用设置的信息. 1,容器的创建:在一个根容器里嵌套一个新容器 1)首先获取根容器. 2)调用ApplicationDataContainer.C ...

  4. 如何从桌面程序向浏览器传递cookie或自定义header

    类似问题 从c#程序启动ie并传递cookie 打开默认浏览器并传递cookie 打开一个web浏览器使用c#应用程序并添加请求头 猜想 从wpf程序打开默认浏览器并定位到一个url ,并且向这个ur ...

  5. php 基本连接mysql数据库和查询数据

    连接数据库,有三种方法 1. 常规方式: $con=mysql_connect($dbhostip,$username,$userpassword) or die("Unable to co ...

  6. CPP-STL:vector中的size和capacity

    在vector中与size()和capacity() 相对应的有两个函数: resize(size_type)和reserve(size_type). Size指目前容器中实际有多少元素,对应的res ...

  7. 题解 P1379 【八数码难题】

    传送门 用STL中的queue,map,string写了个广搜,用一个string保存状态(见代码)注:STL比较慢,可以做一些优化(或者开O2) #include<iostream> # ...

  8. JQuery EasyUI学习记录(三)

    1.jQuery EasyUI messager使用方式 1.1 alert方法 $(function(){ //1.alert方法---提示框 $.messager.alert("标题&q ...

  9. LINQ与反射

    string file = @"C:\Windows\winsxs\x86_netfx35linq-system.core_31bf3856ad364e35_6.1.7601.17514_n ...

  10. 对象、句柄、ID之间的区别

    对象是C++的概念,C++的类对象 句柄是Windows SDK的概念,指向某种资源的一种“指针”(有时候底层不一定是指针) 资源ID在MFC里仅仅是一个宏,也就是个整数. 其实,句柄是控件在数据结构 ...