向硬件设备中发送中文数据乱码问题求教

阿尔巴尼亚非 2021-09-26 18:31:39

各位大哥们好,想请教一个问题,鼓捣半天了没整出来

就是现在公司给了我一个指静脉硬件设备,就跟指纹仪考勤设备一样,电脑可以通过sdk以socket方式发送信息到设备,然后这个设备接收的数据编码方式是GBK类型的,问题是我现在在idea中把要发送的数据转成GBK格式发送过去设备端还是乱码,但是在eclipse中,项目编码方式是GBK的时候就不乱码,请问我这样写有问题吗

String gbkStr=new String(mes.getBytes("GBK"),"GBK");

我在本地建立了一个bb.txt文件,然后用editplus把编码方式设置成GB2312(没找到GBK),然后我用java项目,使用

BufferedWriter向文件里写数据,我项目的编码方式是utf-8,
 String str=new String("你好世界ABC哈哈sdc".getBytes("GB2312"),"GB2312");
           //bufferedWriter.write(str);
           bufferedWriter.write(str);

这样执行后,bb.txt文件用editplus打开后里面数据是正常的不乱码的。

从硬件设备中读取的数据,刚拿来是乱码的,但是解析一下就好了,就是往里写的时候不行

是我哪里做的不对吗,请各位给一点提示

...全文
220 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2021-09-28
  • 打赏
  • 举报
回复

gbk和gb2312是两种编码,肯定不一样。

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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