python 编码

http://hi.baidu.com/derris/item/56c5048e2c6d6bd45f0ec1d8  再次探究python脚本文件的编码问题,终于搞明白unicode和str,ansi和utf8、gbk的区别。

http://www.cnblogs.com/sislcb/archive/2008/11/26/1341455.html  在Unicode和普通字符串之间转换

http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html  阮一峰的网络日志 字符编码笔记:ASCII,Unicode和UTF-8

http://stackoverflow.com/questions/2006115/python-encoding-issue   Python Encoding Issue

-----------------------------------------------

字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。

----------------------------------------------------

gbk,gb2312是中文编码

utf8包含全世界所有国家所用到的全部字符

http://bbs.csdn.net/topics/230032525  utf-8 gbk gb2312有什么区别?

----------------------------------------------------------------------------------------

不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。
不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中。

http://hi.baidu.com/wobash/item/30d28eafd083c5736dd45523  关于GBK、GB2312、UTF8、ANSI 编码

--------------------------------------------------------------------------------

1. 确定字符串的编码: chardet 

使用 chardet 可以很方便的实现字符串/文件的编码检测。

chardet 安装
下载chardet后,解压chardet压缩包,直接将chardet文件夹放在应用程序目录下,就可以使用import chardet开始使用chardet了。

http://pypi.python.org/pypi/chardet 

http://www.cnblogs.com/dkblog/archive/2011/03/02/1980644.html   Python 字符编码判断

http://www.pythonclub.org/modules/chardet  Python chardet 字符编码判断

2. 判断是否为unicode

isinstance(s, unicode) 用来判断是否为unicode

3. 转码

写入文件要gb2312才不会乱码

print   >>out_f, i[0].decode('utf8').encode('gb2312')

http://blog.csdn.net/kiki113/article/details/4062063    python 中文乱码 问题深入分析

http://www.111cn.net/phper/157/38227.htm   python 中文乱码解决方法

http://www.jb51.net/article/17560.htm    Python字符串的encode与decode研究心得乱码问题解决方法

原文地址:https://www.cnblogs.com/phoenix13suns/p/2863280.html