陌路殇 人 2022-11-17 15:25 采纳率: 60%
浏览 2
已结题

用 InputStreamReader 将一个ASCII 编码的文件以UTF-8读出,中文乱码,为什么改为GBK却不会

将一个 ASCII 编码的文件使用 InputStreamReader 转为utf-8 读出,输出的中文字符是乱码,但用gbk、gb2312读出却没有问题
#
#
原代码:

public static void main(String[] args) throws IOException {
        String filePath = "d:\\1\\a.txt";
        //
        //指定编码为 utf-8
        InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath),"utf8");
        BufferedReader br = new BufferedReader(isr);

        String str = br.readLine();
        System.out.println(str);
        br.close();

    }
#
#
结果:

���,wordgood!hello

进程已结束,退出代码0

使用 gbk 进行转码读取就没有乱码现象,这是什么情况

  • 写回答

1条回答 默认 最新

  • 程序员Forlan 2022-11-17 15:50
    关注

    你文件里面的编码是啥,保持一样,就不会乱码

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月18日
  • 创建了问题 11月17日

悬赏问题

  • ¥65 Tree 树形控件实现单选功能,可以使用element也可以手写一个,实现全选为全选状态
  • ¥60 寻抓云闪付tn组成网页付款链接
  • ¥20 如何通过sentry收集上传Android ndk的崩溃?
  • ¥30 有关数值生成的稳健性探讨
  • ¥20 关于C/C++图形界面设计问题
  • ¥15 QT+Gstreamer框架开发视频采集,无法将waylandsink视频绑定qt窗口
  • ¥15 vs2010开发 WFP(windows filtering platform)异常
  • ¥30 8*8*25的矩阵和1*8*25的矩阵相乘
  • ¥15 Ubuntu20.04主机有两个网口,如何配置将其中一个网口用来接入外网,另一个网口用来给其他设备上网
  • ¥15 ml307r-dl如何实现录音功能