输入输出流和字符集

定义:

流代表任何有能力产出数据的数据源对象,或者是有能力接收数据对象


本质:

数据传输


分类:

根据流向划分:

  • 输入流:把数据从设备上读取到内存中
  • 输出流:吧数据从内存中 写出到其他设备上

输入:把硬盘中的数据读取到内存中使用
输出:把内存中的数据写入到硬盘中保存

根据类型划分:

  • 字节流: 以字节为单位,读写数据的流
  • 字符流:以字符为单位,读写数据的流

区别:

  • 传输数据的最基本的单位是字节流
  • 字节流:每次读取(写出)一个字节,当传输资源文件为中文时就会出现中文乱码
  • 字符流:每次读取(写出)两个字节,有中文时,可以正确的显示中文
  • 字节流 InputStream输入流 OutputStream输出流
  • 字符流 Reader 输入流 Writer输出流

字符编码集:

1字符 = 2字节 1字节byte = 8位 bit
一个汉字占两个字节长度

  • 字符编码:一套自然语言的字符与二进制之间的规则
  • 字符集:也叫编码表,是一个系统支持的所有字符的集合,包括各个国家的文字、标点符号、图形符号、数字等
  • 计算机要准确的存储和识别各种字符集合符号,需要进行字符编码,一套字符集必然至少有一套字符编码,常见的字符有 ASCII 字符集、GBK 字符集、Unicode 字符集

  • ASCII字符集:美国信息交换标准代码 ,基于拉丁字母的一套电脑编码系统 用于显示现代英语,主要包括控制字符(回车、退格、换行等)可以显示字符(英文大小字符,阿拉伯数字西文符号)
  • ISO-8859-1拉丁码表:用于显示欧洲使用语言,荷兰、丹麦、意大利、德育 、 西班牙语等
  • GBxxx字符:GB 就是国标的意思 ,是为了显示中文而设计的一套字符集
  • GB2312简体中文码表:包含7000多个简体中文
  • GBK :最常用的中文码表,是在GB2312的标准上扩展了规范,使用了双节码的方案 ,汉字21003 个,汉字和图形共计21886个,支持繁体字
  • GB18030:最新的中文码表 收录汉字70244个 采用多字节编码 每个字由 1个2个 或 4个字节组成 ,支持中国国内少数民族的汉字,同时支持繁体汉字以及日韩汉文字

Unicode字符集:

  • Unicode 编码系通为表达任意字符而设计的,是业界的一种标准,也称之为统一码、标准万国码
  • 它最多使用4个字节的数字来表达每个字符、 符号 、或者文字,有三种编码方案 UTF-8 、UTF-16、UTF-32,最常用的是UTF-8
  • 拉丁文等字符需要二个字节码,大部分常用文字(包括中文)使用三个字节编码
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值