如果代码编码和被读取的文本文件的编码是一致的,使用字符流读取文本文件时不会出现乱码。
如果代码编码和被读取的文本文件的编码是一致的,使用字符流读取文本文件时会出现乱码。
运行结果:
代码分析:
文件时一个GBK的编码,1占一个字节,在GBK中汉字占一个两个字节。代码编码是UTF-8,1占一个字节,英文占一个字节,UTF-8,一个汉字占3个字节,最终肯定会出现乱码的。
文件的编码就是GBK,那字符输入转换流就可以解决字符乱码的问题。
InputStreamReader(字符输入转换流)
解决不同编码时,字符流读取文本内容乱码的问题。
解决思路:先获取文件的原始字节流,再将其按真实的字符集编码转换成字符输入流,这样字符输入流中的字符就不乱码了。
代码:
运行结果:
字符输出转换流:
需要控制写出去的字符使用什么字符集编码,该咋整?
1、调用String提供的getBytes方法解决?
2、可以使用字符输出转换流来实现。
OutputStreamWriter字符输出转换流:
作用:可以控制写出去的字符使用什么字符集编码。
解决思路:获取字节输出流,再按照指定的字符集编码将其转换成字符输出流,以后写出去的字符就会用该字符集编码了。
代码:
运行结果:
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/15237.html