• 二进制流和文本流的区别


    在c中引入了流(stream)的概念。它将数据的输入输出看作是数据的流入和留出,这样不管是磁盘文件或者是物理设备(打印机、显示器、键盘等),都可看作一种流的源和目的,视他们为同一种东西,而不管其具体的屋里解构,即对他们的操作,就是数据的流入和流出。这种把数据的输入输出操作对象,抽象化为一种流,而不管它的具体结构的方法很有利于编程,而涉及流的输出操作函数可用于各种对象,与其具体的实体无关,即具有通用性。

    在c中流可分为两大类,即文本流和二进制流。

    所谓文本流是指在流中流动的数据是以字符形式出现。

    二进制流是指流动的是二进制数字序列,若流中有字符,则用一个字节的二进制ASCII码表示,若是数字,则用一个字节的二进制数标识。在流入流出时,对 符号不进行变换。例如2001这个数,在文本流中用其ASCII码表示为

    '2' '0' '0' '1'

    ||||

    50 48 48 49

    共占4字节。而在二进制流中则表示为:00000111 11010001 用十六进制就是07D1。只占两字节。

    由此看出,二进制流比文本流节省空间,且不用进行对 的转换,这样可以大大加快流的速度,提高效率。因而,对于含有大量数字信息的数字流,可以采用二进制流的方式;对于含有大量字符信息的流,则采用文本流的方式。

    文本文件与二进制文件的定义

    大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。

    简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等。

    二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编码)

  • 相关阅读:
    git初学【常用命令、上传项目到码云或从码云拉取、克隆项目】
    dedecms自学
    sublime3使用笔记
    路由功能
    bootstrap模态框篇【遇到的问题】
    justgage.js的使用
    fullpage.js使用方法
    js&jq遇到的问题(不断更新中)
    图灵完备——停机问题
    中断
  • 原文地址:https://www.cnblogs.com/teemor/p/9985160.html
Copyright © 2020-2023  润新知