使用chardet模块获取文件的编码格式,进而正确的读取文件内容

import  chardet

‘‘‘
不同的文件编写的时候,会有不同的编码格式,有的用utf-8进行的编码,有的呢用的是gbk进行的编码。
在我们读取文件的时候,我们实现并不知情这个当前读取的文件是用的什么编码方式进行的存储。所以就要用的chardet模块
chardet.detect(文件对象),在打开文件的时候,用rb或者wb进行打开。然后将文件对象通过chardet模块获取它当时编码的格式

然后获取文件的时候,decode解码的时候,通过decode(编码格式)进行解码,展现。

‘‘‘

# f=open(‘test1.txt‘,‘w‘,encoding = ‘utf-8‘)
# f.write(‘你好,我好大减价好‘)

# f=open(‘test2.txt‘,‘w‘,encoding =‘gbk‘)
# f.write(‘你好,我好大减价好‘)

f=open(‘test2.txt‘,‘rb‘) #先通过二进制将文件打开
res= f.read()
print(res) # b‘\xc4\xe3\xba\xc3\xa3\xac\xce\xd2\xba\xc3\xb4\xf3\xbc\xf5\xbc\xdb\xba\xc3‘

tt =chardet.detect(res) #通过chardet模块,获取打开的文件对象是什么编码格式
print(tt)  #{‘encoding‘: ‘GB2312‘, ‘confidence‘: 0.99, ‘language‘: ‘Chinese‘}

#拿到编码格式后,将文件decode解码
print(res.decode(‘gbk‘)) #你好,我好大减价好

  

原文地址:https://www.cnblogs.com/miyatest/p/10351740.html

时间: 2024-07-31 14:23:04

使用chardet模块获取文件的编码格式,进而正确的读取文件内容的相关文章

写出文件、读取文件、格式化写出和读取文件

1. 写出文件 #include <stdio.h> main() { FILE * f=fopen("data.txt","w"); if(f!=NULL) //quan xian { //fputc('A',f); fputs("hello world",f); fclose(f); } else { puts("File can not create"); puts("end"); } 2

python pandas 中文件的读写——read_csv()读取文件

read_csv()读取文件1.python读取文件的几种方式read_csv 从文件,url,文件型对象中加载带分隔符的数据.默认分隔符为逗号read_table 从文件,url,文件型对象中加载带分隔符的数据.默认分隔符为制表符(“\t”)read_fwf 读取定宽列格式数据(也就是没有分隔符)read_cliboard 读取剪切板中的数据,可以看做read_table的剪切板.在将网页转换为表格时很有用2.读取文件的简单实现程序代码: df=pd.read_csv('D:/project/

PHP中文件操作(1)--打开/读取文件

1.打开文件(fopen) 语法:resource  $fp=fopen(文件地址,模式),返回的是文件指针(file pointer) 模式 含义 r 只读 w 写(清空重写) a 追加 $fp = fopen('./aa.txt', "r"); //只读 $fp = fopen('./aa.txt', "w"); //写(清空重写) $fp = fopen('./aa.txt', "a"); //追加 2.读文件(fread ,file_ge

编码格式检测chardet模块

chardet模块: -->检测编码格式 未知编码的bytes,要把它转换成str,就需要知道该bytes的编码方式 #1.直接检测bytes >>> chardet.detect(b'Hello, world!') {'encoding': 'ascii', 'confidence': 1.0, 'language': ''} 检测出的编码是ascii,confidence字段,表示检测的概率是1.0(即100%) #2.检测GBK编码的中文 >>> data

JQuery获取图片大小并控制图片文件上传大小以及上图片文件时如何预览图片

首先我们来看效果图: 点击上传之后如下: 在这里我获取到文件的大小,并且如果超出我设定的大小,则禁止上传! 不多说,上代码:先看div布局: <div class="imageContainer"> <input id="thumbnail" name="thumbnail" required="" type="file" size="100"> <div

php学习笔记--高级教程--读取文件、创建文件、写入文件

打开文件:fopen:fopen(filename,mode);//fopen("test.txt","r"): 打开模式:r  仅仅读方式打开,将文件指针指向文件头 r+  读写方式打开,将文件指针指向文件头 w  写入方式,指向文件头,假设不存在则尝试创建 w+ 读写方式,指向文件头,假设不存在则尝试创建 a  写入方式打开,指向文件末尾,假设不存在则尝试创建 a+ 读写方式打开,指向文件末尾,假设不存在则尝试创建 读取文件:fread:fread(); rea

7 RandomAccessFile读取文件内容保存--简单例子(需要验证)

1 import org.slf4j.Logger; 2 import org.slf4j.LoggerFactory; 3 4 import java.io.*; 5 6 /** 7 * 读取动态产生的文件内容 8 */ 9 public class RandomAccessRead { 10 public static Logger logger= LoggerFactory.getLogger(RandomAccessRead.class); 11 12 //文件默认读取位置为从开始读取

js创建、写入、读取文件(转)

下面是对此知识的系统介绍(转自互联网): Javascript 是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼.富有朝气.但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进 行读.写和删除,就象在VB.VC等高级语言中经常做的工作一样.怎么样,你是否需要了解这方面的知识?那就请跟我来,本文将详细描述如何使用 Javascript语言进行文件操作. 一.功能实现核心:FileSystemObject 对象 其实,要在Javascript中实现文件操作功能,主要就

HTML5 文件域+FileReader 分段读取文件(五)

一.默认FileReader会分段读取File对象,这是分段大小不一定,并且一般会很大 HTML: <div class="container"> <!--文本文件验证--> <input type="file" id="file" /> <h4>选择文件如下:</h4> <blockquote></blockquote> </div> JS: //读