码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-05-14 10:12:11      阅读:126      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!