Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示?

关注:159  答案:2  mip版

解决时间 2021-02-03 12:45

提问者鉨瞞着所囿亾,爱着誰

2021-02-02 16:35

我觉得jtextarea中读取Unicode文本是先以Unicode编码,再以GBK解码,

而要想正常显示,应该再先以GBK编码,再以Unicode解码。不晓得对不对?

String codearray1=System.getProperty("file.encoding"); // Java系统编码

try{

String codetype=codeString(filePath); //检测获得原文本编码 filePath为文件路径

codearray1=codestr.getBytes(defaultcode); //以系统编码编码

ta.setText(new String(codearray1,codetype)); //以原文本编码解码

}catch(Exception e1){}

------------------------------------------------------------------- 网上的方法

private String codeString(String filePath) throws Exception{

BufferedInputStream bin = new BufferedInputStream(

new FileInputStream(filePath));

int p = (bin.read() << 8) + bin.read();

codetype = null;

switch (p) {

case 0xefbb:

codetype = "UTF-8";

break;

case 0xfffe:

codetype = "Unicode";

break;

case 0xfeff:

codetype = "UTF-16BE";

break;

case 0x5c75:

codetype = "ANSI|ASCII" ;

break;

default:

codetype = "GBK";

}

return codetype;

}

但仍然乱码:

操作前:

操作后:

按照“还是正能量”的方法,后面乱码了。。

我把code直接定为了Unicode,用的也是InputStreamReader(FileInputStream fis,String code)这个函数

-----------------------------------------------------------------------以下是代码

-------------------------------------------------------------------------实际效果

前面是可以了,但是后面还有很多方格。。。这要怎么做,不会要建一个方法,去掉后面的方格吧?但是如果编码对了,就应该不会有乱码了。。

要打开的文件确实是Unicode编码的,我也试了其他编码,

对 InputStreamReader bufr=new InputStreamReader(fis,"Unicode");

若将“Unicode”改为"UTF-8"、 "UTF-16BE" 、"ASCII" 、 "GBK"

前面又乱了,反倒乱码更严重。

改为其他编码后效果:

求大神解答。。谢谢~~

最佳答案

二级知识专家轉角離身

2021-02-02 17:55

不用那么麻烦,直接用InputStreamReader(FileInputStream fis,String code)这个函数来读取文本就可以了,code就是这个文本的编码

全部回答

1楼烈酒℃灼言EL

2021-02-02 19:01

用String类的一个构造函数, 它可以转换编码!

编码为Unicode的文本中直接给String

再看看别人怎么说的。

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

java中unicode显示乱码_Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示?...相关推荐

  1. java 月份起止时间_java已知时间的本周,本月,本年的起始时间

    String --->LocalDateTime /LocalDate --->String/Long 有一些项目需要展示本日,本周,本月,本年的相关统计信息,这时就需要根据当前日期(或者 ...

  2. 用java求直角三角形的面积_JAVA 已知三角形的三个边判断 是否为直角三角形,如果是求面积!...

    匿名用户 1级 2009-03-21 回答 你是要java的还是jsp的?给你个jsp的把... java的和jsp的差不多...主要还是那个求面积的公式 (1) (2) (3) (4) (5) 请输 ...

  3. java遍历两个日期_java 已知两个日期,遍历出两个日期之间所有的日期,重点是::包括第一个日期!!...

    哈哈,又是日期类问题,那我肯定建议你用Java8的新时间API了,而且你时间字符串还是这种格式yyyy-MM-dd,直接LocalDate.parse方法就可以把字符串转化为LocalDate对象了 ...

  4. C语言试题五十一之已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。

    1. 题目 请编写一个函数void function(Student a[], int n, Student *s),其功能时:已知学生的记录是由学号和学习成绩构成,n名学生的数据已存入s结构体数组中 ...

  5. 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...

    已知Excel工作表中A1单元格和B1单元格的值分别为"电子科技大学"."信息中心",要求在C1单元格显示" 更多相关问题 所谓犯罪现象的特性,是指为 ...

  6. Chemical Science | 通过异构网络中的深度学习对已知药物进行靶标识别

    今天给大家介绍的是2020年1月在Chemical Science上发表的论文"Target identification among known drugs by deep learnin ...

  7. 算法分析:芯片测试问题 非递归 JAVA 有n片芯片,已知好芯片比坏芯片至少多1片......

    [芯片测试]有n片芯片,已知好芯片比坏芯片至少多1片.现在需要通过测试从中找出1片好芯片,测试方法如下:将2片芯片放到测试台上,2片芯片互相测试并报告测试结果(即好或者坏):其中,好芯片的报告是正确的 ...

  8. c语言 已知某系统在通信联络中,数据结构(习题)..doc

    数据结构(习题). 题1.1 数据结构在计算机内存中的表示是指---. A.数据的存储结构 B.数据元素 C.数据的逻辑结构 D.数据元素之间的关系 题1.2 从逻辑上可把数据结构分为--. A.动态 ...

  9. face_recognition小实战:显示未知图片中已知人物的脸

    实验要求: 给一张已知的人脸(杨幂),让你在未知图片中找到杨幂,并且在那张未知图片中把杨幂的脸标记起来 思路: load_image_file方法加载已知图像和待检测图像 face_encodings ...

最新文章

  1. 关于定于如何弄的漂亮点
  2. windows 系统监视器 以及建议阀值
  3. LeetCode 1750. 删除字符串两端相同字符后的最短长度(双指针)
  4. webservice 原理
  5. 由“从按下回车到网页显示”粗谈网页优化
  6. Sentry的安装搭建与使用
  7. Excel表格转JPG等多种图片格式(简单粗暴)
  8. 【自动驾驶】Stanley(前轮反馈)实现轨迹跟踪
  9. 17 CoCos Creator-Node Tree 层级管理器
  10. 计算机用户名怎么注册,微软账号怎么注册 Microsoft帐户注册使用教程
  11. 计算机基础知识 SERVER
  12. java POI导出excel,导出的excel,打开文件提示文件格式或扩展名无效
  13. jQuery菜鸟学习实例
  14. python--生成器
  15. 胡阳pyhton作业题--20150725
  16. 《Web前端工程师修炼之道》学习笔记
  17. 中国大学MOOC胡浩基的机器学习第二章(支持向量机)兵王问题python版本——在python上初步使用libsvm
  18. Golang一日一库之 日志库 zap
  19. C++的count函数
  20. 知识点8--Docker镜像的秘密

热门文章

  1. 逻辑性最强的React Native环境搭建与调试
  2. Microsoft SQL Server 2005 提供了一些工具来监控数据库
  3. 中国计算机学会通讯杂志,何积丰. Cyber-physical systems [J]. 中国计算机学会通讯, 2010, 6(1): 25-29....
  4. mysql rpl_MySQL管理工具MySQL Utilities — mysqlrplcheck(44)
  5. python的语句_Python的语句
  6. 微软的OneNote正在获得类似Win11风格的外观
  7. vue-cli安装和使用
  8. hashcode、equals
  9. 计算机更新服务,使用 Microsoft Update 更新计算机
  10. python内置函数面向对象_Pyhton——面向对象进阶二:类的内置函数补充、描述符...