文件

文件

 

本章主要包含了文件,流和序列化,主要是给”.NET中的加密和解密”和”网络编程”

 

文件

 

大家每天都会接触不同的文件,比如,打开一个.txt文本文件,记录一个电话号码;打开一个.jpg图片文件,浏览一张照片;打开一个.avi视频文件,看一部电影.那么,文件是什么呢?按照自上而下的顺序,可以分三个层级来回答.

 

最上面一层,是应用程序级.在打开一个文件的同时,实际上也打开了处理此文件的应用程序.例如,打开.txt文件时,也同时打开了记事本;打开.jpg文件时,也同时打开了windows照片查看器;打开.avi文件时,同时打开了Windows Media Player或其他类型的播放器.在这一级别上,文件种类是丰富多彩的,不同的文件使用相应的应用程序进行解析,将文件呈现为了不同的形式.需要注意区分的是:文件和与文件相关的应用程序是不同的.

 

中间一级,是人类可以阅读的一级.设想所有的文件只使用一种应用程序打开----记事本,来解析它.此时,可以将文件分为两种类型:人类可以阅读的文本文件,比如xml文件,css样式表文件,cs源文件;人类无法阅读的其他文件,比如.jpg文件.当不使用图片浏览器,而使用记事本打开时,得到的将是一串乱码,无法直接阅读和理解它.相对于文本文件,通常将无法直接阅读的文件称为二进制文件.

 

最下面一级,是机器级.机器只能识别二进制的01.因此,从机器级来看,不论是可以直接阅读的.txt文件,还是其他类型的文件,都是一样的,都是一串的01,统一叫做二进制文件.

 

 

,字节和字节数组

先不着急将文件转换为二进制的形式,先看一个概念:(bit).一个1或者0就是一位.当只有一位时,只能表示01两个值;当有两位时,可以表示00,01,10,11四个值;如果换成十进制,可以表示03.类似的,将没8位定义为一个字节(byte),那么一个字节的范围就从0000 00001111 1111.如果换成十进制就可以表示0255,转换成十六进制就是0x000xFF.

 

用二进制表示文件很不方便,一个很小的文件也需要一大串01.有了字节的概念就多少能看了,就是用机器级视角转换为了十六进制的人的视角.

 

在机器级,文件就相当于一连串在0255之间变换的数字.C#,System命名空间下的byte类型代表了字节,他的取值范围正好就是0255.通常情况下,文件是由很多字节构成的,那么可以定义一个字节数组(byte[])来表示他.

 

一句话”不论何种类型的文件都可以表示为一个字节数组!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值