当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 安卓程序解决网络传输乱码问题

安卓程序解决网络传输乱码问题 时间:2014-09-19      来源:未知

网络传输是安卓程序中极其重要的一个环节,特别是物联网的应用中,从节点采集数据,显示数据,再向节点发送数据。

一般情况下,向节点发送的命令都是由字符串拼接而成,而节点地址却不同,在网络中是以字节流的方式进行传输,这就涉及到了一些转码方面的知识,这里不做深入地讲解,只是简单介绍一下byte类型转换成string类型中间解决乱码问题的方法。

在实际项目中,传输一般的地址并不需要进行特殊的转换,但是当byte类型中高位是1的时候有可能会在接收端收到非正确的多余字符,这是由于网络传输中转码产生的问题。

Java使用的是unicode型的字符,与C语言接收到的ascii编码有一定的区别,所以,我们在发送的时候一定要做一些处理,如下代码显示:

return new String(temp2, "ISO8859-1");

其中temp2是byte类型的数组,ISO/IEC8859-1,又称Latin-1或“西欧语言”,是标准化组织内ISO/IEC 8859的第一个8位字符集。

发送的代码如下所示:

out = new DataOutputStream(socket.getOutputStream());

out.write(data.getBytes("ISO8859-1"));

插入字符串的时候使用"ISO8859-1"编码方式来转换编码,发送的时候再使用"ISO8859-1"方式把字符串类型转换回来,这样发送就能解决乱码的问题。

上一篇:基于FS4412内核移植之DM9000网卡驱动添加

下一篇:第1章 Contiki Hello World实验

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部