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

在Android项目中,通过socket与C++进行通信时遇到了字符编码问题,原本使用PrintWriter和BufferedReader发送和接收数据导致乱码。为解决这个问题,文章详细描述了调整程序的步骤,确保在数据传输过程中正确处理字符集,从而避免乱码的出现。
摘要由CSDN通过智能技术生成

项目中用到了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 Ou
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值