文本文件和二进制文件的区别和联系
目录
- 文件类型
- ASCII码
- 文本文件和二进制文件
- 程序
最近使用MATLAB将文本文件转换为二进制文件时遇到了一些麻烦,回头补了补当年学的文件存储,对计算机中文件存储理解更深刻了,在这里分享一下。
文件类型
在理解文本文件和二进制之间的区别和联系之前,需要知道文件类型、ASCII码这些预备知识。
文件类型,也被称为文件格式,是计算机对数据的编码方式,不同格式的文件使用不同的编码方式存储数据。我们平时遇到的文件有文本文件、二进制文件等不同格式,它们采用不同的方式存储数据。
文件格式和文件的后缀名是两回事,后缀名的主要作用是给用户做备注或者告知操作系统在默认情况下用什么软件打开,后缀名与文件的具体编码没有关系,改变后缀名并不会改变文件格式,例如把后缀名为.mp4的文件改为.txt,再用mp4播放器打开,同样会正常打开视频。
文本文件的后缀名一般为.txt,二进制文件的后缀名为.bin,若把文本文件的后缀名.txt改为.bin,然后使用打开二进制文件的软件打开,会出现乱码,这是因为文本文件存储的是用ASCII码编码后的数据,使用打开二进制文件的软件打开,相当于用的该软件的解码方式解码用ASCII码编码的数据,编码和解码不匹配,自然会出现乱码的情况了。
ASCII码
计算机只能存储0和1,也就是说只能存储二进制数字,若我们打开记事本写入a这个字母,它在计算机中如何存储的呢?就要用到ASCII码了。
上表为ASCII码表,ACSII码使用指定的8位二进制组合来表示128个可能的字符(最高位为0,主要用于奇偶检验),存储记事本的数据时,记事本的每一个字符都会被计算机使用ACSII码编码,转换为二进制,然后存储到计算机中,如上表所示,字符a对应的ACSII值为97,97的二进制为01100001,因此计算机存储的数据为01100001,使用Binary Viewer(查看二进制的软件)查看,果然是01100001,验证了所述内容。
文本文件和二进制文件
由上文我们知道,文本文件存储数据时是将值作为字符后存入其字符编码的二进制,文本文件用“字符”作为单位来表示和存储数据,比如对于1这个值,文本文件会将其看做字符‘1’。然后保存其ASCII编码值,这样在物理上就是00110001这个二进制值;记事本打开一个文本文件,首先读取文件物理上所对应的二进制比特流,然后按照ASCII形式来解释这个流,接下来,它8个比特8个比特地来解释这个文件流,最后将解释结果显示出来。
二进制文件格式存储数据时直接保存该值的二进制值,存储5678时,文本文件格式存储为:00110101 00110110 00110111 00111000(存的是5 6 7 8的四个字符对应的ASCII编码的二进制,占四个字节);二进制文件格式存储为:00010110 00101110(存的是5678的二进制),占两个字节。
如果程序本来就是按字符保存的,也就是char ch=‘1’,则二进制保存后值就是其ASCII码,因为该变量的二进制本来就是其ASCII码,此时文本文件和二进制文件存储没有区别。
程序
使用MATLAB编程,程序如下:
test.txt是6*16个bit,该文件是文本文件(.txt文件),上述程序的作用是将该数据转为二进制文件(.bin文件)存储。
文本文件和二进制文件的区别和联系相关推荐
- 文本文件和二进制文件的区别
广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名.狭义的二进制文件即除文本文件以外的文件.文本文件是一种由很多行字符构成的计算机文件.文本文件存在于计算机系统中,通常在文本文件最后一 ...
- 计算机中,文本文件和二进制文件的区别
文本文件和二进制文件都是存储的二进制0和1,区别在于: 文本文件:二进制是以字符编码方式存储的,如utf-8, gbk,规则简单 二进制文件:二进制没有以字符编码的方式存储,规则复杂,只有计算机能够理 ...
- python文本文件和二进制文件的区别_以文本格式和二进制格式打开文件,到底有什么区别?...
以文本格式和二进制格式打开文件,到底有什么区别? 我们知道,open() 函数第二个参数是一个字符串,用于指定文件的打开方式,如果该字符串中出现 b,则表示以二进制格式打开文件:反之,则以普通的文本格 ...
- 【文本文件与二进制文件的区别;文件打开与关闭的方法、不同读写方式】(学习笔记19--文件上)
目录 文件的打开与关闭 文件的打开 文件的关闭 标准文件流 文件流的重定向 文件的读写 以字符的方式读写文件 以行的方式读写文件 以格式化的方式读写文件 以块的方式读写文件 文件的打开与关闭 文件的实 ...
- 文本文件与二进制文件的区别
以下内容源于网络资源的学习与整理,如有侵权请告知删除. 一.文本文件与二进制文件的定义 计算机以二进制数字0和1存储数据,因此在物理层面上,文本文件和二进制文件没有本质差异,都是由数字0和1构成的集合 ...
- python中文本文件和二进制文件的区别_文本文件和二进制文件的区别
定义 广义的二进制文件即指文件,由文件在外部设备的存放形式为二进制而得名.狭义的二进制文件即除文本文件以外的文件.文本文件是一种由很多行字符构成的计算机文件.文本文件存在于计算机系统中,通常在文本文件 ...
- python087(文件—文件概念以及文本文件和二进制文件的区别)
文件的概念和作用 计算机的文件,就是存储某种长期储存设备上的一段数据 长期存储设备包括:硬盘.U盘.移动硬盘.光盘... 文件的作用 将数据长期保存下来,在需要的时候使用 CPU在使用数据时,要先将硬 ...
- 117. 请简述文本文件和二进制文件的区别
链接:https://www.nowcoder.com/questionTerminal/6e2a7411830d44b19b3dd1de7e7302db?toCommentId=1137079 来源 ...
- 详解文本文件和二进制文件区别
转自:https://blog.csdn.net/renyongwang1988/article/details/8050506 网上关于文本文件与二进制文件的文章很多,但遗憾的是,这些文章讲得都比较 ...
最新文章
- XYPieChart
- 从0到50家AI独角兽,中国人工智能凭什么让世界刮目相看?
- java http 上传_Java使用HttpURLConnection上传文件
- 8类网线利弊_网线买机制成品还是自己DIY?有这些点要注意
- 合并的数组会有顺序么_咱就别按顺序刷题了,看看大佬怎么刷
- 类名作为形式参数传递
- LINUX安装7Zip
- wpf ListView圆角
- matlab串口实时画图,基于MATLABGUI界面的MCU串口实时绘图设计
- 键盘按键损坏 注册表更改_如何彻底清洁键盘(不损坏任何东西)
- oralce 12c集群 ora-01033
- VS编程,几个好用的Visual Studio插件推荐(一)
- 华为2019届校招笔试题及解法
- 文件服务器挂在网上,(6)NAS简述 - 服务器 【已迁移到IXPUB】 - ITPUB论坛-专业的IT技术社区...
- 共享计算机后无法访问磁盘,win7局域网怎么共享整个硬盘,如D盘E盘F盘等等-win7怎么共享磁盘,win7共享后无权限访问...
- 路由器接口配置与管理——6
- HATEOAS HAL
- android项目屏幕适配的解决方法
- Booth理解与Booth改进版的由来
- 组装电脑中毒文件夹变exe文件寻回办法
热门文章
- pdf转换工具有哪些?试一试这几个方法!
- openFOAM的基础类型汇总
- Filling the Gaps: Multivariate Time Series Imputation by Graph Neural Networks
- Android CPU 深度睡眠,什么是CPU更深度睡眠
- 斜体(oblique italic)
- android 字体倒影,Android实现图片的倒影效果
- php爬取百度关键词时出现,百度安全验证,解决方法
- “千山之首 大果榛品”2022年辽阳大果榛子地理标志标识推介会开幕
- tair用ldb做分布式存储
- Django models模块字段注释