python字节流和字符流_字符流与字节流

[一]写在前面

简单总结一下分别用(一直混淆的)字节流or字符流读写文件。

[二]字节流

2.1 字节流介绍

程序中的输入输出都是以流的形式保存的(输入流or输出流),流中保存的实际上全都是字节(一个字节等于一个Byte占8个bit)文件。Java提供了OutputStream、InputStream两个专门操作字节流的类。知识补充1:

计算机能存储的唯一东西就是 bytes,为了在计算机中存储东西,我们首先得将其编码(encode),例如将其转化为 bytes。

比如:要想保存音乐(以字节形式保存),我们首先得用 MP3, WAV 等将其编码;要想保存图片,我们首先得用 PNG, JPEG 等将其编码;要想保存文本,我们首先得用 ASCII, UTF-8 等将其编码.

知识补充2:

Unicode 是字符集,不是字符编码。Unicode 把全世界的字符都搜集并且编号了,但是没有规定具体的编码规则。编码规则有 UTF-8、GBK等。

2.2 字节流使用场景总结

字节流适合所有类型文件的数据传输,因为字节(Byte)是电脑中表示信息含义的最小单位(通常情况下一个ACSII码就是一个字节的空间来存放)。

如果是音频文件、图片、歌曲,就用字节流好,如果是关系到中文(文本)的,用字符流好。

[三]字符流

3.1 字符流介绍

字符流按字符(一个字符占两个字节)读数据:一次读两个字节,返回了这两个字节所对应的字符的int型数值(编码)。写入文件时把这两个字节的内容解码成这个字符在Unicode码下对应的二进制数据写入。即把原始文件中的二进制数据以字符形式读出,再将字符以二进制形式写入,所以得到的文件以字符方式存储。字符流只能处理字符或者字符串。

3.2 字符流使用场景

字符流只能够处理纯文本(中文)数据,其他类型数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值