学校上机实验的一道作业题(可能是我太菜完全不会写,写出来整理一下,内容仅为个人理解)
作业内容:编写程序,用户在命令提示行输入文件名和该文件的编码格式,读入文件,将其转存成UTF-8格式。如果用户没有指定输入文件的编码格式,则使用chardet模块“猜”出其编码格式,用于解码。使用argparse模块解析用户命令提示行输入。
编码格式
文件是数据存储的一直形式,它有两种展现形态,一种是二进制形态一种是文本形态。这两种本质上都是二进制形态。
而文本文件就是利用某种单一编码组成的文件,也可以理解成储存着的字符串。其中这个单一编码就是编码格式,例如UTF-8格式,ASCII等等
chardet模块
使用chardet模块检测编码格式很简单,使用chardet. detect()方法就可以得到,例如:
>>>chardet.detect(b'hellow world')
{
'encoding': 'ascii', 'confidence': 1.0, 'language': ''}
>>> data = '我爱祖国'.encode('utf-8')
>>> chardet.detect(data)
{
'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}
enc