问题描述
- Java与C#进行socket通讯 出现乱码 怎么办
-
byte[] buffer=tf.getText().getBytes();//tf是一个文本框控件 try { OutputStream out = socket.getOutputStream(); out.write(buffer, 0, buffer.length); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ..............................java客户端发送部分 byte[] buffer = new byte[BufferSize]; NetworkStream streamToClient = remoteClient.GetStream(); int bytesRead = streamToClient.Read(buffer, 0, BufferSize); string msg = Encoding.Unicode.GetString(buffer, 0, bytesRead); TextBox1.Text=msg;
...........................................C#接收部分
请问是不是应该在string msg = Encoding.Unicode.GetString(buffer, 0, bytesRead);这句话上做些修改就行了
解决方案
java发送时指定一下UTF-8编码,C#接收时也指定一下UTF-8编码。
http://blog.csdn.net/mecho/article/details/7342654
解决方案二:
出现乱码原因挺多的,可能是编码方式,也可能是接收方式或者解析方法问题,根据你自己的数据格式判定吧
时间: 2024-09-20 00:24:26