javaIO-字符流

2、字符流

字符流

为什么出现字符流?
一个字符经过编码后可能占用不同的字节数,字符和字节不是一一对应的关系,编码后的字符有可能变成数量不等的字节
使用字节流在操作文本文件的时候不是很方便,不能准确控制到底多少个字节对应一个字符?
所以Java提供了专门用来操作字符的字符流(所以字符流只针对文本文件)
能准确的从流中 获取/放入 字符

字符集(编码方案)charSet

ASCII:美国标准委员会制定,用一个字节的7位表示一个字符
ISO8859-1:欧洲,拉丁编码,用一个字节的8位表示一个字符
GBK:中文编码,用两个字节表示一个中文字符
GB2312:GBK的升级版本,拥有更多的字符
GB18030:GBK取代版本,但使用不是很广泛
BIG-5:繁体字的编码

Unicode:国际标准码,绝大多数的字符使用两个字节编码,称为Unicode编码

UTF-8:一种Unicode编码实现方案,当程序中出现的字符需要写到硬盘上的文件,或者通过网络传输时,需要指定编码方案,并由此方案将字符编成具体的字节
特点:是一种变长的编码方案,编码后的字符有可能占用1-4个字节:
英文占一个字节,中文一般占用三个字节

流的转换

猜你喜欢

转载自www.cnblogs.com/wqbin/p/11240786.html