《自拍教程》两种文件类型

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

纯文本文件

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

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

纯文本文件种类 文件后缀
记事本文本文件 .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系统为例包括:

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

二进制文件种类 文件后缀
可执行文件 .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, 则可能导致中文变乱码)。

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

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

纯文本文件的优势

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

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

table.dataframe {
font-family: verdana,arial,sans-serif;
font-size:13px;
color:#333333;
border-width: 1px;
border-color: #999999;
border-collapse: collapse;
width:80%;
white-space:nowrap;
}
table.dataframe th {
background-color:#c3dde0;
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:center;
}
table.dataframe tr {
background-color:whit;
}
table.dataframe td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #a9c6c9;
text-align:left;
white-space:nowrap;

}

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

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

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

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

原文地址:https://www.cnblogs.com/zipython/p/12336836.html

时间: 2024-11-10 05:40:57

《自拍教程》两种文件类型的相关文章

Linux 中的七种文件类型

LINUX中的七种文件类型d  目录文件.l  符号链接(指向另一个文件,类似于瘟下的快捷方式).s  套接字文件.b  块设备文件,二进制文件.c  字符设备文件.p  命名管道文件.-  普通文件,或更准确地说,不属于以上几种类型的文件

socket编程之二:两种链接类型upd和upd

前面一篇文章说到了一些计算机网络的基础知识,引入了socket,从这节开始,就进入正题了. 一 概率 TCP:Transimission Control Protocol传输控制协议. UPD:User Datagram Protocol用户数据包协议. 两者都属于上一篇文章说的OSI模型中的第四层--传输层的协议. 两者相比: TCP协议面向连接,UDP协议面向非连接:(链接) TCP协议传输速度慢,UDP协议传输速度快:(速度) TCP有丢包重传机制,UDP没有:(重传) TCP协议保证数据

两种常量类型-readonly和const

C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景.工作原理 readonly为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,因此也有人称其为只读变量. const为编译时常量,程序编译时将对常量值进行解析,并将所有常量引用替换为相应值. 下面声明两个常量: public static readonly int A = 2; //A为运行时常量public const int B = 3; //B

JSP下载txt 和 Excel两种文件

JSP下载txt 和 Excel两种文件 jsp 下载txt文件和excel文件 jsp 下载txt文件和excel文件 最近做了个用jsp下载的页面 将代码贴出来 权作记录吧 1 下载txt文件 这个花了我不少时间 原因是用ie下载txt文件时是在页面中直接打开了文件.虽然查了一些资料,也看了别人的解决方案,可还是解决不了问题,最后发现是一个字母惹的祸:少写一个字母 嘿嘿 够马虎!!! 代码如下: OutputStream o=response.getOutputStream();   byt

java List递归排序,无序的列表按照父级关系进行排序(两种排序类型)

当有一个List列表是无序的,List中的数据有parentid进行关联,通过java排序成两种排序类型: 所用的测试列表最顶级无parentid,若为特殊值,修改下判断方法即可. 第一种排序:按照树结构进行排序 排序前:122,13,121,1,131,12,132...无序的[TestSort [id=122, name=三级b, parentid=12], TestSort [id=13, name=二级b, parentid=1], TestSort [id=121, name=三级a,

Linux 下的7种文件类型

普通文件类型 (-)Linux中最多的一种文件类型, 包括 纯文本文件(ASCII):二进制文件(binary):数据格式的文件(data);各种压缩文件.第一个属性为 [-] ,这些文件一般是用一些相关的应用程序创建,比如图像工具.文档工具.归档工具... .... 或 cp工具等.这类文件的删除方式是用rm 命令. 目录文件 (d)就是目录, 能用 # cd 命令进入的.第一个属性为 [d],例如 [drwxrwxrwx] ,创建目录的命令可以用 mkdir 命令,或cp命令,cp可以把一个

Object-c:两种文件读写的对比

一.读写方法对比:(主要针对本地读取本地文件) 方式\操作 读 写 非URL方式 stringWithContentsOfFile writeToFile URL方式 stringWithContentsOfURL writeToURL 实际开发中,大部分都采用URL方式. 对于写入操作,情况都是:如果文件存在,则覆盖原文件中的内容:如果文件不存在,则创建一个新文件 二.非URL方式 1.比较陌生的是文件写入的方法中,会有个atomically参数. atomically(原子性):设置YES时

Kubernetes中,两种常见类型的Volume深度实践

一.背景 存储资源在所有计算资源中扮演着十分重要的角色,大部分业务场景下都有可能使用到各类存储资源.在Kubernetes中,系统通过Volume对集群中的容器动态或静态提供存储资源.通常情况下,我们可以认为容器或者Pod的生命周期时短暂的,当容器被销毁时,容器内部的数据也同时被清除.为了持久化保存容器的数据,Kubernetes引入了Volume,类似于Docker的Volume(Docker also has a concept of volumes, though it is somewh

基于python的selenium两种文件上传操作

方法一.input标签上传     如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情况: 1.AutoIt  去调用它生成的au3或者exe格式的文件 2.SendKeys第三方库(目前只支持到2.7版本) 网址:https://pypi.python.org/pypi/SendKeys 3.Python的pywin32库,通过识别对话框句柄来