UTF-8的文件按ASCII读进来,再怎么转回UTF-8

will7cheng 2016-07-28 10:39:31
UTF-8的文件按ASCII读进到string(中文变乱码),再怎么把这个string转回UTF-8(中文可以显示).
...全文
176 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
will7cheng 2016-07-28
  • 打赏
  • 举报
回复
因为要按字节长度截取一段(substring),所以不得不按ASCII读取文件(中文字符当做2字节)。 截取后,再怎么把其中的中文转出来,就是问题的所在。 (PS:截取的处理是在构架(spring batch)里完成的,无法修改)
wula0010 2016-07-28
  • 打赏
  • 举报
回复
读文件的时候就设置好编码,而不是先读进来再转换编码,那样会错的:

//chartsetName:文件编码
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), chartsetName));
//返回第一行为汇总记录
str = in.readLine().trim();
String strBytes = Arrays.toString(str.getBytes());

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧