黑马程序员技术交流社区
标题:
关于字符流处理图片的问题
[打印本页]
作者:
kj1989
时间:
2014-3-8 15:34
标题:
关于字符流处理图片的问题
本帖最后由 kj1989 于 2014-3-10 21:02 编辑
我们知道一般字节流用于文字处理,字符流用于图片处理,那么如果用字节流对文字进行处理可以吗?会发生什么样的情况呢?字符流和字节流在处理对象时,什么内在的特性和区别决定了两者的用途?
作者:
zzmxhm
时间:
2014-3-8 18:44
字节流的操作对象就是一串比特位,不涉及数据的类型、格式等问题,因而可以处理任何对象。也正因如此,通过字节流读取的数据就是一串比特位,需要我们自己把它“翻译”成可以看懂的形式。比如字符在 Java 中占用两个字节,采用 UTF-16 编码方案,所以如果通过字节流读取字符文件,就需要我们自己将这一串比特位按编码方案的规则翻译成字符,这当然是一个很痛苦的过程了。这时字符流就出现了,字符流会很贴心地按我们的要求把字节转换成字符,因此通过字符流就可以直接读取字符文件的内容了~
作者:
胡文彬
时间:
2014-3-8 21:33
文件在硬盘上都是二进制,都是字节,图片是字节流。对汉字进行处理时,一般需要用到转换流,就是将字符用字节写出.
作者:
雨中的台北
时间:
2014-3-12 19:32
楼主,你说反了,字节流字节和字符都能处理,字符流只能处理字符
字节流包括:音乐+视频+图片等等。
字符流:文本文件等
作者:
水蓝
时间:
2014-3-12 23:28
字符流去处理这个文件,很有可能会导致问题。
这种文件,只应该用字节流去处理。只有文本文件,才可以用字符流处理。
原因在于:
字符流拷贝文件,从编解码的角度来看,其本质就是如下图的动作:
字符字节.png
(3.34 KB, 下载次数: 10)
下载附件
2014-3-12 23:19 上传
在字节转字符的过程中,如果遇到编码表中存在的字符,将能够正确解码。
但是当遇到编码表中不存在的字符时,部分解码器会找它认为相近的当前编码表中能识别的字符去替代。
这样就导致解码后,字符对应的字节码已经发生了变化。
当你再次按照编码表编码成字节时,部分编码后的字节将与之前的字节产生差异。
也就是说,数据会出错。
总结一句话,就是:不能,因为在编码过程中,会引入错误。
这个具体,你可以看一下毕向东老师的JAVA基础视频:第21天 的 第06、07、08个视频。(记不清哪个是了,不过这三个里面,肯定有一个讲过,反正也不长,都看一下吧)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2