欢迎来到天天文库
浏览记录
ID:50844450
大小:84.00 KB
页数:11页
时间:2020-03-15
《磁盘文件数据存储方式.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、磁盘文件数据存储方式在介绍各种操作文件方式之前,需要先介绍磁盘上文件数据的组织方式。实际上,文件是在计算机内存中以二进制表示的数据.在外部存储介质上的另一种存放形式。文件通常分为二进制文件和文本文件。根据数据的组织的形式,可分为ASCII文件和二进制文件。ASCII文件又称文本文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。如果有一个整数10000,在内存中占2个字节,如果按ASCII码形式输出,则占5个字节,而按二进制形式输出在磁盘上只占2
2、个字节。用ASCII码形式输出与字符一一对应,一个字节代表一个字符因而便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间。用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上,以后又需要输入到内存的,常用二进制文件保存。 ASCII形式0011000100110000001100000011000000110000 内存中的存储形式
3、 0010011100010000 二进制形式0010011100010000比如在内存中数据0011000000111001(十进制为12345) 在磁盘上可以以ASCII码存储为0011000100110010001100110011010000110101 '1''2''3''4''5'二进制存储格式0011000000111001字符,字节和编码摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方
4、法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关概念,编码所涉及的技术其实是很简单的。因此,阅读本文时需要慢读多想,多思考。引言“字符与编码”是一个被经常讨论的话题。即使这样,时常出现的乱码仍然困扰着大家。虽然我们有很多的办法可以用来消除乱码,但我们并不一定理解这些办法的内在原理。而有的乱码产生的原因,实际上由于底层代码本身有问题所导致的。因此,不仅是初学者会对字符编码感到模糊,有的底层开
5、发人员同样对字符编码缺乏准确的理解。1.编码问题的由来,相关概念的理解1.1字符与编码的发展从计算机对多国语言的支持角度看,大致可以分为三个阶段: 系统内码说明系统阶段一ASCII计算机刚开始只支持英语,其它语言不能够在计算机上存储和显示。英文DOS阶段二ANSI编码(本地化)为使计算机支持更多语言,通常使用0x80~0xFF范围的2个字节来表示1个字符。比如:汉字'中'在中文操作系统中,使用[0xD6,0xD0]这两个字节存储。不同的国家和地区制定了不同的标准,由此产生了GB2312,BIG5,JIS等各自的编码标准
6、。这些使用2个字节来代表一个字符的各种汉字延伸编码方式,称为ANSI编码。在简体中文系统下,ANSI编码代表GB2312编码,在日文操作系统下,ANSI编码代表JIS编码。不同ANSI编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段ANSI编码的文本中。中文DOS,中文Windows95/98,日文Windows95/98阶段三UNICODE(国际化)为了使国际间信息交流更加方便,国际组织制定了UNICODE字符集,为各种语言中的每一个字符设定了统一并且唯一的数字编号,以满足跨语言、跨平台
7、进行文本转换、处理的要求。WindowsNT/2000/XP,Linux,Java字符串在内存中的存放方法:在ASCII阶段,单字节字符串使用一个字节存放一个字符(SBCS)。比如,"Bob123"在内存中为:426F6231323300Bob123 在使用ANSI编码支持多种语言阶段,每个字符使用一个字节或多个字节来表示(MBCS),因此,这种方式存放的字符也被称作多字节字符。比如,"中文123"在中文Windows95内存中为7个字节,每个汉字占2个字节,每个英文和数字字符占1个字节:D6D0CEC4313233
8、00中文123 在UNICODE被采用之后,计算机存放字符串时,改为存放每个字符在UNICODE字符集中的序号。目前计算机一般使用2个字节(16位)来存放一个序号(DBCS),因此,这种方式存放的字符也被称作宽字节字符。比如,字符串"中文123"在Windows2000下,内存中实际存放的是5个序号:2D4E8765310032
此文档下载收益归作者所有