java,关于Socket通信时的字符集编解码

如题,A与B进行Socket通信,B接收A传递过来的数据进行处理,A的默认字符集编码为UTF-8,B默认A的字符集编码为GBK,问:A要怎么处理数据才能保证B解析到的数据... 如题,A与B进行Socket通信,B接收A传递过来的数据进行处理,A的默认字符集编码为UTF-8,B默认A的字符集编码为GBK,问:A要怎么处理数据才能保证B解析到的数据不是乱码?A要怎么才能正确解析出B传送过来的数据? 展开
 我来答
icosplay
推荐于2017-09-12 · TA获得超过248个赞
知道小有建树答主
回答量:272
采纳率:0%
帮助的人:148万
展开全部
socket通信时,多数用到的输入输出流,在使用流的时候要注意字节流和字符流,如果有字符的话你用了字节流就会出现乱码。

下面也处理乱码
String str = 你接到的流
str = new String(str.getByte(), "utf-8") 或者
str = new String(str.getByte(iso-8859-1), "utf-8")
追问
能不能具体点,就上面的题目讲讲具体怎么怎么解决问题,解决的的语句我基本知道,就是不知道这时候是转UTF-8,GBK还是其他什么的?
追答
Socket conn=server.accept();
DataInputStream in=new DataInputStream(conn.getInputStream());
String str=in.readUTF();
//上面这些你可以换,因为最终你得到的是流,在从流中对数据
str = new String(str.getByte(), "utf-8")
System.out.print(str)
肖HAN
2012-04-01
知道答主
回答量:31
采纳率:0%
帮助的人:19.5万
展开全部
encoding=“gbk”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式