JAVA高级特性(六)——IO流(第二讲)

四、字符流

4.1  出现字符流的原因

          由于字符流操作操作汉字的读写不是很方便,所以引用了字符流。汉字在不同编码中所占的字节数不同,常用有GBK(占两个字节)、UIT-8(占三个字节),特别注意汉字不管在哪种编码下编码解码的第一个字节都是负数。

           汉字和数字只占一个字符。

4.2  编码表

        1、计算机存储信息的时候都是用二进制数存储的,数字和汉字都是其转换后的结果。

        2、编码:将数据从存储到计算机中;

             解码:从计算机中读取数据。

        3、注意:A编码存储,就要用A编码解析——>解码和编码用同一个编码表

4.3 字符集

          常见的字符编码:ASCII字符集、GBXXX字符集、Unicode字符集;    

          ASCII字符集:基于拉丁字母的一套电脑系统,英语、控制字符、和可现实字符(英文大小写,数字,西文符号),使用7位表示一个字符,共128字符。

          ASCII字符集扩展的字符,使用8位表示一个字符,共256字符。

         GBXXX字符集 GB2312,GBK,GB18030,重点讲GBK,使用双字节编码方案,收录了21003个汉字,GB2312+繁体字和日韩汉字,GB18030增加了少数名族文字

         GBK,汉字表示两个字符

         Unicode字符集,UTF-8,UTF-16、UTF-32,

在java中常用的两个字符集   GBK 、UTF-8

UTF-8编码规则

128个US-ASCII字符

只需一个字节编码

拉丁文等字符

只需两个字节编码

大部分常用字(含中文)

使用三个字节编码

其他极少使用的Unicode辅助字符

使用四个字节编码

4.4 字符解码和编码

方法         说明

byte[] getBytes();

使用默认字符集进行编码

byte[] getBytes(String charsetName);

使用指定字符集(charsetName)进行

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值