文件-读取与编码检测

 

文件存放在硬盘是以二进制方式存储,读取出来需要对其根据字符编码表进行转换,python3默认以utf-8编码。

utf8三个字节一个字符,gbk两个字节一个字符

文件读取

以utf-8编码打开gbk存储的文件并读取内容

f=open(file='test.txt',mode='r',encoding='utf-8')
data=f.read()
f.close()
print(data)

file:需打开的文件

mode:打开方式

encoding:打开的编码格式

以gbk方式打开即可正常读取

f=open(file='test.txt',mode='r',encoding='gbk')
data=f.read()
f.close()
print(data)

文件编码检测

chardet更具编码规律尝试检测文件编码

import chardet

f=open('test.txt',mode='rb')
data=f.read()
f.close()
result=chardet.detect(data)
print(result)

confidence:编码可信度

encoding:可能的编码

根据可能的编码格式进行解码(decode)

import chardet

f=open('test.txt',mode='rb')
data=f.read()
f.close()
result=chardet.detect(data)
print(result)
#根据chardet检测出来的编码格式进行解码
print(data.decode('gb2312'))

 

posted @ 2018-04-14 14:04  丫丫625202  阅读(299)  评论(0编辑  收藏  举报