网络传输-文本文件和二进制文件的区别

1. 文本文件和二进制文件的定义

    # 计算机在物理内存上面存放的都是二进制,所以文本文件和二进制文件的主要区别是在逻辑上的而不是物理上的。而从文件的编码方式来看,文件可以分为文本文件和二进制文件。文本文件是基于字符编码的文件,常见的有ASCII、Unicode等,二进制文件是基于值编码的文件,可以看成是变长编码,你可以根据自己的需要,决定多少个比特代表一个值。

    # 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

    # (1)ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为:
    
    ASC码:    00110101 00110110 00110111 00111000
              ↓      ↓     ↓      ↓
    十进制码:  5      6     7     8 共占用4个字节。ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。 由于是按字符显示,因此能读懂文件内容。

    # (2)二进制文件是按二进制的编码方式来存放文件的。 例如, 数5678的存储形式为: 00010110 00101110只占二个字节。二进制文件虽然也可在屏幕上显示, 但其内容无法读懂。C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。 输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。 因此也把这种文件称作“流式文件”。

2. 文本文件和二进制文件的存储

# 2.1 存储的方式不同

    # 二进制文件就是把内存中的数据按其在内存中存储的形式原样输出到磁盘中存放,即存放的是数据的原形式。
    # 文本文件是把数据的终端形式的二进制数据输出到磁盘上存放,即存放的是数据的终端形式

# 2.2在实际存储中最好是将数据分成字符数据和非字符数据两类:

    # (1)如果存储的是字符数据,无论采用文本文件还是二进制文件都是没有任何区别的,所以讨论使用文本文件还是二进制文件是没有意义的。
    # (2)如果存储的是非字符数据,又要看我们使用的情况来决定:

        # a:如果是需要频繁的保存和访问数据,那么应该采取二进制文件进行存放,这样可以节省存储空间和转换时间。
        # b:如果需要频繁的向终端显示数据或从终端读入数据,那么应该采用文本文件进行存放,这样可以节省转换时间。

3. 文本文件的打开方式和二进制文件打开方式的区别

    # (1)文本模式中回车被当成一个字符‘\n‘,在文件中如果读到0x1B,文本模式会认为这是文件结束符,会按照一定方式对数据做相应的转换。

    # (2)二进制模式中‘\n‘会被认为是两个字符0x0D,0x0A;在读到0x1B时,二进制模式不会对文件进行处理。

2.只读/写模式的r/w和rb/wb

# (1)r:读取到的是文本数据(字符的编码),使用 open() 打开文件时,默认采用 GBK 编码。但当要打开的文件不是 GBK 编码格式时,可以在使用 open() 函数时,手动指定打开文件的编码格式,例如:file = open("a.txt",encoding="utf-8")

# (2)rb: 读取到的是二进制数据(字符在硬盘中存储的二进制),不需要指定编码.

原文地址:https://www.cnblogs.com/kangqi452/p/11675285.html

时间: 2024-07-30 20:17:48

网络传输-文本文件和二进制文件的区别的相关文章

文本文件和二进制文件的区别

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种. ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码.例如,数5678的存储形式为:ASC码: 00110101 00110110 00110111 00111000 ↓ ↓   ↓    ↓十进制码: 5 6   7  8 共占用4个字节.ASCII码文件可在屏幕上按字符显示, 例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容. 由于是按字符显示,因此能读

carchive网络传输二进制文件I6B

网络传输二进制文件,如果你对二进制文件的读写不懂,网络上传输二进制文件更不懂,这里包括音频,视频文件,图片文件等.研读这个例子是不错的选择,网络传输多个二进制文件.下载下来后可直接运行,测试通过的.点载下载下载地地:由<网络通信编程实用案例精选>配套源码改写而来,原先的例子只能传文本文件. http://weibo.com/p20180109p/1001604189534500829644邮本窗MXW味2D胺叹叹掩 http://weibo.com/p20180109p/10016041910

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

计算机数据的存储在物理上都是二进制的,所以文本文件和二进制文件的区别并不是在于物理存储上. 主要在于编码方式上,文本文件是基于字符编码的文件常见编码有ascii,unicode,utf-8等,而二进制是基于值编码的文件 文本文件的定长编码(当前也有非定长如utf-8),二进制文件是边长编码,多少个bit代表一个值完全由你来决定,这样的编码方式导致二进制会更节省空间 如:00000000_00000000_00000000_00000001  用ascii编码方式在记事本中显示则为 NULL_NU

小小换行符乱谈(文本文件vs二进制文件)

使用 C 语言的 fopen 打开文件时,可以指定的 mode 有 12 个,其中 6 个包含  "b" 使用 C++ 的 fstream 打开文件时,可用的模式组合有 24 个(?),其中 12 个包含  "binary" 使用 python 的 open 打开文件,除了可以使用 C 中的 12 个模式外,还可以使用  "U" 或 "rU" 使用 Qt 库的 QFile 打开文件时,可以指定  QIODevice::Text

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

网上关于文本文件与二进制文件的文章很多,但遗憾的是,这些文章讲得都比较散.下面我将结合所查到的资料,从多个角度谈谈文本文件与二进制文件. 一.文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的.这两者只是在编码层次上有差异. 简单来说,文本文件是基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等等.二进制文件是基于值编码的文件,你可以根据具体应用,指定某个值是什么意思(这样一个过程,可以看作是自定义编

linux怎么区别文本文件和二进制文件

linux的文本文件与二进制文件的区分与windows的区分是相同的!说到底计算机存储的文件都是以二进制形式存储的,但是区别是,习惯上认为: (1).文本文件 文本文件是包含用户可读信息的文件.这些文件以ASCII码方式存储,可显示和打印.文本文件的行不能包括空字符(即码中的NULL),行的最大长度(包括换行符在内)也不能超过(LINE_MAX)所定义的字节数.不过文本文件中并不限制使用除空字符以外的控制字符或其它不可打印字符. (2).二进制文件(实际上这种说法不准确,因为文本文件也是用二进制

网络传输基本协议

介绍 定义 在配置管理中,终端服务特性提供了设备配置的管理接入接口和交互界面,为用户提供操作场所. 主要包括: Console口登录 Telnet Server/Client SSH登录,支持Password.RSA验证.DSA验证 支持定制User-interface,提供对登录用户多种方式的认证和授权功能 文件传输特性可以提供系统文件.配置文件的传输控制和文件系统的远程简单管理. 主要包括: FTP Server/Client TFTP Client 基于SSH协议的文件传输SFTP Cli

使用加密解密技术和CA认证解决网络传输中的安全隐患

服务端:xuegod63.cn   IP:192.168.1.63 客户端:xuegod64.cn   IP:192.168.1.64   网络安全: 网络传输中的安全隐患-.   中间人攻击 全隐患:        解决方法 1.窃听-- >  加密 2.篡改 ->  哈西算法:MD5,sha1 (检查数据完整性) 3.伪装(钩鱼网站,伪装WIFI)  ->  身份认证(用户名/密码.数字证书) 4.网络中断 (内网冒冲网关,DDOS )  –>绑定静态arp地址: 加大服务器和

关于HTTP 协议的特点,以及网络请求GET 和 POST 的区别?

HTTP协议有何特点: HTTP 超文本的传输协议,是短连接,是客户端主动发送请求,服务器做出响应,服务器响应之后连接断开 HTTP是属于应用层面向对象的协议,HTTP 有2类报文:请求报文和响应报文 HTTP请求报文:一个HTTP请求报文. 由请求行. 请求头部.空行和请求行数据4部分组成 HTTP响应报文:由三部分组成:状态行.消息报头.响应正文 网络请求GET 和 POST 的区别 GET 请求:参数在地址后拼接 没有请求数据 不安全(因为所有的参数都拼接在地址后面),不适合传输大量数据(