码迷,mamicode.com
首页 > 其他好文 > 详细

字节流和字符流

时间:2015-04-12 21:08:50      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:字符流   字节流   

首先在java的IO中有输入流和输出流的概念,流究竟是什么意思呢?在java中,流通常表示的是连续不断的,就像水流动一样的概念,只不过这里流动的是数据。

java中流有两种类型,即字节流和字符流,其实这两种类型就其本质而言仍然是以字节为基础的。

字节流:表示输入/输出的数据是字节,这和我们许多的计算机课程中的理论都是相符的,即数据在计算机中都是以字节方式存放的,在和计算机进行交流的时候,这种类型直接通过字节和计算机进行信息交换。

字符流:这种类型的数据是以字符为单位进行输入和输出的,但是其底层还是以字节为单位的,比如以前的ASCII码表,它其实是美国为了本国的计算机而编制的,它用8位二进制数表示一个字符,这样几乎就可以把经常用到的所有字符用二进制码的形式表示出来,后来,因为每个国家都为自己编制自己的码表,但是每个国家的字符不一样,并且有时候即使一样的字符,其所对应的二进制数也是不一样的,比如中国的GBK和美国的ASCII就完全的不一样,这样美国那边传过来的数据,到中国却用GBK码解析,就会出现乱码,为了解决这个问题,国际化标准组织(应该经常听说它)就制定了一个全世界统一的码表,unicode码表,因为世界上的字符很多,所以不可能用8位二进制就能表示完,所以国际化标准组织就用两个字节(16)位来表示每个字符,注意,是每个字符,即使以前在ASCII中可以用一个字节来表示,在这里也是用两个字节来表示,所以,为了操作字符方便,java采用字符流的方式,把数据传过来的字节找到其所对应的码表,然后转换为字符输出。

(如果有错误,敬请各位指正,共同学习,不胜感激)!

字节流和字符流

标签:字符流   字节流   

原文地址:http://blog.csdn.net/u013240038/article/details/45013241

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!