C++服务器与C#客户端,利用Sokcet进行通信,如果发送与接收都是英文与数字,OK没有任何问题,如果出现中文刚会出现乱码。下面是客户端接收代码:
System.Net.IPAddress myIP;
System.Net.IPEndPoint myServer;
System.Net.Sockets.Socket connSocket;
System.Net.Sockets.NetworkStream netStream;myIP = IPAddress.Parse(ipString);
myServer = new IPEndPoint(myIP,portInt);
connSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
connSocket.Connect(myServer);
netStream = new NetworkStream(connSocket);
byte[] Rec=new byte[2500];
netStream.Read(Rec, 0, Rec.Length);
尝试过的编码有:
Recstring=System.Text.Encoding.GetEncoding("GB2312").GetString(Rec);
Recstring=System.Text.Encoding.UTF8.GetString(Rec);
Recstring=System.Text.Encoding.GetEncoding(54936).GetString(Rec);
Recstring=System.Text.Encoding.GetEncoding(54936).GetString(Rec);
返回中文全部是乱码,想请都C++一般是采用什么编码,在C#中相应的编码是什么?
请高手指点!!!
System.Net.IPAddress myIP;
System.Net.IPEndPoint myServer;
System.Net.Sockets.Socket connSocket;
System.Net.Sockets.NetworkStream netStream;myIP = IPAddress.Parse(ipString);
myServer = new IPEndPoint(myIP,portInt);
connSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
connSocket.Connect(myServer);
netStream = new NetworkStream(connSocket);
byte[] Rec=new byte[2500];
netStream.Read(Rec, 0, Rec.Length);
尝试过的编码有:
Recstring=System.Text.Encoding.GetEncoding("GB2312").GetString(Rec);
Recstring=System.Text.Encoding.UTF8.GetString(Rec);
Recstring=System.Text.Encoding.GetEncoding(54936).GetString(Rec);
Recstring=System.Text.Encoding.GetEncoding(54936).GetString(Rec);
返回中文全部是乱码,想请都C++一般是采用什么编码,在C#中相应的编码是什么?
请高手指点!!!
解决方案 »
- clistctrl如何获得我正在编辑的子项的列索引?
- 关于VC中的file.read()问题!
- 求救!!怎样用CRecord类来删除数据库中表的记录!!!!!!!!!!
- CRgn类怎么使用阿,哪位高手能给一些实用的列吗?
- 有个傻问题~
- Delphi代码往VC/MFC代码的移植问题
- 为什么我这个头文件会被包含2次????
- 如何指定float 型的小数点后位数(比如2位)
- 两个小小的问题:1)如何在flexgrid里面插入一行?2)如何调用MFC Wizard生成的【打开】菜单的功能?
- 昨天,忍不住装上VC++,简直不同凡响。
- fatal error C1083: Cannot open include file: 'stdafx.h'
- 如何在view中插入超链接,超链接功能类似按钮,点击它执行它的处理函数
是不是C#里面默认的是UNICODE??
如果是的话就需要把C++发过来的数据转换成UNICODE.MultiBytetoWidechar/WidechartoMultiByte
C#中用下列字符集
System.Text.Encoding.ASCII.GetString()
System.Text.Encoding.ASCII.GetBytes()
字符集的问题
C#中用下列字符集
System.Text.Encoding.ASCII.GetString()
System.Text.Encoding.ASCII.GetBytes()
尝试过了ASCII一样也是乱码!
嗯,处理好ascii和unicode的转换
关键是如何处理呀!!有无示例?