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研究心得乱码问题解决方法