python:正确的对未知编码的字符串进行预处理-Unicode-UTF8-gbk
2016-04-09 01:44
731 查看
由于计算机只能识别二进制数据,所以指望程序自动的猜出字符串是如何编码的很难。
而现实中,我们经常得到编码方式未知的字符串,我们总是希望能将这些字符串先统一预转换为unicode编码,在处理以后再根据需要编码到需要的格式
为了判断原始字符串的编码格式,可以采用chardet模块
我编写了下面的一个函数,用以从文件中读取信息,并统一转换为unicode格式返回,同时返回的还有数据的原始编码格式(如’utf-8‘)
而现实中,我们经常得到编码方式未知的字符串,我们总是希望能将这些字符串先统一预转换为unicode编码,在处理以后再根据需要编码到需要的格式
为了判断原始字符串的编码格式,可以采用chardet模块
我编写了下面的一个函数,用以从文件中读取信息,并统一转换为unicode格式返回,同时返回的还有数据的原始编码格式(如’utf-8‘)
def readFile2UnicodeBuf(filename): readstring=None oldCodingType=None try: with open(filename, 'rb') as pf: readstring=pf.read() if isinstance(readstring, unicode): oldCodingType='unicode' else: oldCodingType=chardet.detect(readstring)['encoding'] readstring=readstring.decode(oldCodingType) except: print 'ERROR: read file fail:'+filename return None,None return readstring,oldCodingType
相关文章推荐
- python中的字典
- Python enumerate 用法
- Python 小技巧
- Python 列表推导式
- Python 列表推导式(列表解析式)
- python 二分法思想
- 定义 Model兼容python2.x和python3.x
- 基于Python,爬取豆瓣读书源码
- python浓缩(1)欢迎来到Python世界!
- python浓缩(2)Python起步
- Python向Sqlite批量插入数据,测试硬盘性能
- python list tuple dict之间的转化
- python None与Null
- ubuntu安装pip+python27+ipython+scrapy+zlib+libssl-dev-及遇到的各种问题解决
- Python3爬虫之爬取某一路径的所有html文件
- Python自动化运维学习笔记
- python转码实现
- 关于python中的unicode字符串的使用
- 关于python中的unicode字符串的使用
- 如何在Windows系统中设置Python程序定时运行