文件-读取与编码检测

Posted 丫丫625202

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件-读取与编码检测相关的知识,希望对你有一定的参考价值。

 

文件存放在硬盘是以二进制方式存储,读取出来需要对其根据字符编码表进行转换,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\'))

 

以上是关于文件-读取与编码检测的主要内容,如果未能解决你的问题,请参考以下文章

golang 使用编码自动检测读取文本文件

20155219付颖卓 Exp3 免杀原理与实践

Python读取文件编码解码问题

java 读取不同编码的txt文件 中文乱码二

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

如何检测文本文件的编码