计算机只认识0,1,所以计算机的世界,
所有的文件数据都应该是0,1组成的。
但是为了方便人类能阅读及理解,
逐步有了ASCII,UTF-8, GBK, GB2312等编码格式。
以上如果测试同学听晕乎,记住以下两种计算机文件的类型即可。

纯文本文件

人类可以识别的文字文本文件,
其文件以纯文本形式存储数据(数字和字母包括ASCII码和其他各国语言文字)。
纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据,
以Windows操作系统为例,包括:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
纯文本文件种类 文件后缀
记事本文本文件 .txt
文本配置文件 .cfg, .ini
逗号分隔符文件 .csv
Log文件 .log
Python代码文件 .py
Java代码文件 .java
C, C++代码文件 .c, .cpp, .h
shell脚本文件 .sh
batch脚本文件 .bat, .cmd
html网页文件 .html, .htm
xml配置文件 .xml
json配置文件 .json


二进制文件

机器码文件,即计算机能识别并直接可以运行的文件,
但是人类不能直接识别,只能通过其他软件来解析识别的文件,以Windows系统为例包括:

二进制文件种类 文件后缀
可执行文件 .exe
视频文件 .mp4, .3gp等
音频文件 .mp3, .wma等
图片文件 .jpg, .png等
Word文件 .doc, .docx,.wps
Excel文件 .xls, .xlsx
PPT文件 .ppt, .pptx
PDF文件 .pdf
安装包文件 .msi
压缩包文件 .zip, .rar等
编译后的Python代码文件 .pyc, pyo等
编译后的Java代码文件 .class
编译后的C++代码文件 .obj


如何快速鉴别文件类型。

使用Sublime文本编辑器或者Notepad++这类文本编辑器,尝试打开一个文件。
查看其内容。
查看纯文本文件:
如果显示的是人类能看懂的字符(英文字母,标点符号,中文,繁体,日语,韩语等等世界各国语言),
当然也可能是乱码(是由于编码格式转码导致的,比如当前编辑器不支持GBK, 则可能导致中文变乱码)。
《自拍教程》两种文件类型 Python 第1张

查看二进制文件
如果显示的一堆整齐的16进制数据,则就是二进制可执行文件。
由于二进制文件只有1,0,直接存储0,1数量较大,且不方便阅读,
所以统一显示为16进制的,以方便存储与阅读,真正需要解析的时候,
肯定要转化成0,1的二进制序列才能被机器所处理。
《自拍教程》两种文件类型 Python 第2张

Linux下其实一样,虽然Linux不带后缀,也可用Sublime打开看看

纯文本文件的优势






















序号 二进制可执行文件的优势
优势一 人类可识别,可快速看懂
优势二 方便配置,比如linux下vi就可以编辑这些文件,cat就可以查看这些文件,
Windows记事本就可以编辑这些文本。
优势三 很容易创建,比如你创建一个.txt并编辑很简单。
你创建并编辑一个.mp4视频并实现成功播放试试??

二进制可执行文件的优势
序号 二进制可执行文件的优势
优势一 可以直接被计算机识别并执行。
优势二 体积小,基本上都是编译压缩过。
优势三 信息传输安全,人类看不懂,比如源代码文件,
一般是编译后给到编译后的二进制可执行文件发布出去,比如.exe的
一般不会把源代码直接发布出去。
优势四 可以丰富多样化,可以组成声音,图像等数据。

学过python open()函数的都知道,用于打开文件进行读写。
其有多种模式,比如“w”,“r”模式是针对普通纯文本文件的读写操作。
“wb”, “rb”模式是针对二进制文件的读写操作。
只要是涉及二进制的,则必须加“b", 代表”binary“二进制文件操作。


更多更好的原创文章,请到:www.zipython.com

原文链接:https://www.zipython.com/#/detail?id=7210086251064f5bac985f73f2b1eb73

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄