
所有的文件都是以二进制存储的,文件只有“文本文件”和“不是文本文件”这两种。只是因为里面的数据不同或者解析数据的方式不同而导致你看到的结果不同。下面给你非常详细的解释:
“字符文件”确切的说法应该是文本文件。说过了,它也是以二进制存储的,并且是连续的(一大串 1 和 0 组成的数字,没有任何标记隔开),而在读取的时候由程序把它断开。最简单的例子,扩展的 ASCII 码存储的文本文件,其中每个字符占 8 位(正好是一个字节),那么在读取此文件的时候程序会 8 位一读,也就是 1 个字节(字符)一读。读完 8 位再读下 8 位,直达文件末尾或者手动结束。“流”这个概念就是这么来的。每次读入一个字符就可以称为字符输入流,但本质上是一个比特(位)流。
然后“字节文件”,当然你可以这么叫,不过要和文本文件区分的话一般叫“二进制文件”,虽然本质上没区别。所有的文件都是二进制文件,其实所有的文件也都是字节文件。因为字节也基本是数据的最小单位了(比特当然更小,但是比特是计算机处理数据时的单位,字节是最小数据块的单位)。上面的 ASCII 的“文本文件”是一种特殊的字节文件,每个数据块就是一个字节。而一般的字节文件中,数据块可以是任何数据类型,可以是 16 位的 short,32 位的 int,也可以是 32 位的 float,等等类型,一般叫“二进制文件”。读此类文件的时候必须要对应好,该是 short 的地方就读入 2 个字节,该是 int 的地方就该读入 4 个字节,一旦错了所有后面的数据就可能都读错了。这个“流”你可以随意称呼,可以叫“数据流”,因为各种类型的数据都有,只能统称为“数据”,但本质上就是二进制的比特流。
另外,你说记事本打开乱码的是“字节文件”,首先上面说过了,文本文件本身是一种特殊的字节文件;其次记事本打开只要不是乱码的必然是文本文件,因为它显示的是良好的文本,而记事本打开是乱码的不一定就不是文本文件,可能是编码格式的原因。这个又牵扯到编码格式,太多了,实在没办法些这里,你到我空间有编码格式的文章可以看。
不知道你看懂了没有?可能写得有点乱,但你学下去就会明白的。
字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。
扩展资料:
字符:
在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。
含义:
在 ASCII 编码中,一个英文字母字符存储需要1个字节。在 GB 2312 编码或 GBK 编码中,一个汉字字符存储需要2个字节。在UTF-8编码中,一个英文字母字符存储需要1个字节,一个汉字字符储存需要3到4个字节。在UTF-16编码中,一个英文字母字符或一个汉字字符存储都需要2个字节(Unicode扩展区的一些汉字存储需要4个字节)。在UTF-32编码中,世界上任何字符的存储都需要4个字节。
表达:
字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列。微软的公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符。
资料来自:字符https://baike.baidu.com/item/%
ASCII文件ASCII文件(ASCII File),指含有用标准ASCII字符集编码的字符的数据和文本文件。文本文件(如字处理文件、批处理文件和源语言程序)通常都是ASCII文件,因为它们只含有字母、数字和常见的符号。
中文名
ASCII文件
外文名
ASCII File
含义
含有标准字符的数据和文本文件
特点
只含有字母、数字和常见的符号
信息在计算机上是用二进制表示的,这种表示法让人理解就很困难。因此计算机上都配有输入和输出设备,这些设备的主要目的就是,以一种人类可阅读的形式将信息在这些设备上显示出来供人阅读理解。为保证人类和设备,设备和计算机之间能进行正确的信息交换,人们编制的统一的信息交换代码,这就是ASCII码表,它的全称是“美国信息交换标准代码”。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)