码迷,mamicode.com
首页 > 移动开发 > 详细

Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决

时间:2014-06-02 15:32:48      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:android   socket   字符集   printwriter   bufferedreader   

项目中用到了Android和C++的通信,选择了用socket 发送字符的方式,一开始使用的代码是:

					socket=new Socket();
					InetSocketAddress isa = new InetSocketAddress(IP_STR, port);     
					socket.connect(isa, 100);
					PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
					BufferedReader recvBuf=new BufferedReader(new InputStreamReader(socket.getInputStream()));


使用这种方式无法设定字符集,无论是发送和接收如果跟服务器的字符集不同,都会出现乱码,

最后将程序改为:

					socket=new Socket();
					InetSocketAddress isa = new InetSocketAddress(IP_STR, port);     
					socket.connect(isa, 100);
					PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream(),"gb2312")),true);
					BufferedReader recvBuf=new BufferedReader(new InputStreamReader(socket.getInputStream(),"gb2312"));



我的服务器设定的字符集是gb2312。大家可以根据自己的需要设定字符集,原则是自己发送和对方接收的字符集设定要一致,自己的接收和对方的发送字符集一致。

Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决,布布扣,bubuko.com

Android socket 使用PrintWriter和BufferedReader发送和接收出现乱码问题解决

标签:android   socket   字符集   printwriter   bufferedreader   

原文地址:http://blog.csdn.net/yxg190221/article/details/28102797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!