前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >读取二进制文件的中文乱码问题

读取二进制文件的中文乱码问题

作者头像
liliane
发布2022-07-17 10:31:48
1.3K0
发布2022-07-17 10:31:48
举报
文章被收录于专栏:liliane随笔liliane随笔

问题描述:

在linux下开发的项目,转移到windows环境,运行后,发现出现中文乱码。

追根溯源:

逐步debug,发现并非在网络传输过程中出现乱码问题(若是,可通过对requestresponse设置编码,setCharacterEncoding("utf-8")解决),而是在读取二进制文件时,未指定编码的原因。

项目中使用了DataInputStreamreadByte()方法,按字节读取文件,然后将byte[]其转为String。转换方式:new String(bytes,0, size),因为没有指定编码,可能出现乱码问题。

解决方案:

通过new String(bytes,0, size, "utf-8"),指定具体的编码方式,如这里的"utf-8"。

此外,使用String的另一构造函数:public String(bytebytes[], Charset charset),可实现强制转码:

String str = new String(str.getByte("iso8859-1"),"UTF-8")。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档