首页 > 其他 > 详细

关于字节流和字符流使用时的编码问题

时间:2015-05-14 10:11:06      阅读:114      评论:0      收藏:0      [点我收藏+]

1、对于字节流来说,从输入流里读取的字节编码取决于被读取的文件自身的编码,输出流生成的文件编码取决于字节编码。

2、对于字符流来说,其底层仍为字节流操作,所以输入流读取文件可以看做是把文件读取成字节,然后字节再转换为字符,这就涉及到两个过程,第一个过程与字节流读取一样,但是第二个过程new InputStreamReader(inputStream)即字节转字符时InputStreamReader()默认是utf-8编码,如果字节的编码不是utf-8,那么转换过程就会出错,所以这里转换编码要和文件编码一致,可以在转换时指定转换的编码new InputStreamReader(inputStream,"gbk");同样,输出流与此相反,生成文件的编码取决于new OutputStreamReader()时的编码,作为中间载体的字符是统一的char,所以只要保证转换时的编码与文件编码一致即可保证无乱码,无需输入流与输出流编码一致。

注:个人见解,仅供参考。我没有研究过其源码,只是在代码中测试了一下。


关于字节流和字符流使用时的编码问题

原文:http://22663355.blog.51cto.com/10214179/1651147

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!