byte编码转换保存TXT问题小结

已经保存到数据流为byte[] fileByte。将byte[] 数组直接写入文件后,发现txt文件格式在安卓上会乱码。

最终找到原因:win系统的txt文件--【1】-->byte[] file--【2】-->写入file--【3】--->保存为TXT---【4】--->安卓打开为乱码

问题出在【2】上面。

因为win中txt默认编码为ANSI,而安卓手机仅支持utf-8的浏览。

我们需要在写入文件的时候使用

{  中间件 (先用String将byte[]转换编码,eclipse打印可以识别时,再将String转换成utf-8类型的byte[],在对文件进行写入)  }

将编码进行转换。


例如:已知byte[] byte;

txt = new String(byte, "GBK");

byte= txt.getBytes("utf-8");


最后将这个byte写入txt文件就不会出现乱码了。

折腾了大半天,弄懂的时候才豁然开朗。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值