美文网首页工作生活
如何区分二进制文件和文本文件

如何区分二进制文件和文本文件

作者: elef | 来源:发表于2019-07-01 17:43 被阅读0次

所有的文件都是二进制文件,其实所有的文件也都是字节文件。因为字节也基本是数据的最小单位了(比特当然更小,但是比特是计算机处理数据时的单位,字节是最小数据块的单位)。

  • 文本文件
    “文本文件”是一种特殊的字节文件,每个数据块就是一个字节。拿ASCII编码的文件举例, 其中每个字符占 8 位(正好是一个字节),那么在读取此文件的时候程序会 8 位一读,也就是 1 个字节(字符)一读。读完 8 位再读下 8 位,直达文件末尾或者手动结束。“流”这个概念就是这么来的。每次读入一个字符就可以称为字符输入流,但本质上是一个比特(位)流。
  • 二进制文件
    而一般的字节文件中,数据块可以是任何数据类型,可以是 16 位的 short,32 位的 int,也可以是 32 位的 float,等等类型,一般叫“二进制文件”。读此类文件的时候必须要对应好,该是 short 的地方就读入 2 个字节,该是 int 的地方就该读入 4 个字节,一旦错了所有后面的数据就可能都读错了。这个“流”你可以随意称呼,可以叫“数据流”,因为各种类型的数据都有,只能统称为“数据”,但本质上就是二进制的比特流。

最传统的文本文件就是只包括 ASCII 可显示字符,即 0x20-0x7E。只可能在二进制文件中出现的 0x00。只有文件包含'\x00'肯定不是纯文本,所以Git 就是判断文件前 8000 字节是否含有"\x00"来区分二进制文件和文本文件。

  • 关于文本编码
    记事本打开只要不是乱码的必然是文本文件,因为它显示的是良好的文本,而记事本打开是乱码的不一定就不是文本文件,可能是编码格式的原因。我们常说的 UTF-8,GBK 之类的是文本编码,是将人可读的文本,按照特定的编码表转成二进制序列的一种方式,转成二进制序列之后就可以进行存储了。在读取的时候再按照原来的方式还原,就可以得到原始文本了。

相关文章

  • 0基础学习C语言第十一章:文件读写

    今天我们将介绍 C 程序员如何创建、打开、关闭文本文件或二进制文件。 一个文件,无论它是文本文件还是二进制文件,都...

  • 10-文件的操作

    文本文件和二进制文件 文本文件可以使用文本编辑器查看,本质还是二进制文件。二进制文件保存的文件不是给人直接阅读的,...

  • 二进制文件与文本文件的区别

    原文 文本文件和二进制文件的定义: 计算机在物理内存上面存放的都是二进制,所以文本文件和二进制文件的主要区别是在逻...

  • IO流(操作文件内容): 字符流

    概述 计算机并不区分二进制文件与文本文件。所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的文件都是二进...

  • 进击的NDK04-文件IO

    读取文本文件 写入文本文件 计算机的文件存储在物理上都是二进制 文本文件和二进制之分,其实是一个逻辑之分C读写文本...

  • Python文件操作IO流

    一、文件的打开和关闭 1、文件分为 文本文件t和二进制文件b,文本文件有统一编码,二进制文件一般只有0和1组成 2...

  • Python 读写文件

    如何使用python在硬盘上创建,读取和保存文件文件分类:纯文本文件二进制文件 windows:根文件夹名为C:,...

  • IO流2

    IO流二 字符流 计算机并不区分二进制文件与文本文件。所有的文件都是以二进制形式来存储的,因此,从本质上说,所有的...

  • C语言 IO操作

    读取文件 写入文本文件 文件复制 计算机的文件存储在物理上都是二进制 文本文件和二进制之分,其实是一个逻辑之分 C...

  • 文本文件和二进制文件

    文本文件和二进制文件 两者并无本质区别,或者说文本文件就是特殊的二进制文件。最主要的区别就是打开文件的程序对内容的...

网友评论

    本文标题:如何区分二进制文件和文本文件

    本文链接:https://www.haomeiwen.com/subject/oksncctx.html