用C#写的Socket客户端程序好象很难与用C++写的SOCKET服务器程序通讯,可以连接上,也能发送数据流,但显示时总是出现乱码.
1、有人说是编码问题,所以我想两个程序都使用unicode,但在用C++写的服务器程序中,我怎么样能把一个unicode类型的字符串转换为char类型给SOCKET呢?因为SOCKET发送和接受的都是char数据类型。
2、在C#中有byte类型表示字节,无论字节的编码方式是什么都可以用SOCKET发送和接受。
3、C++中的SOCKET只能接受char类型的数据类型,而根据资料说char不是unicode编码,那在C++中怎么样用SOCKET发送unicode编码数据呢?
问题说得不清楚,因为我被这东西搞糊涂了,但有一点是清楚的,那就是怎么样能C#写的客户端正确的显示从C++服务器上得到的字符串。
最好给个两端的伪代码例子,主要是C++端怎么样发送和接受unicode数据
1、有人说是编码问题,所以我想两个程序都使用unicode,但在用C++写的服务器程序中,我怎么样能把一个unicode类型的字符串转换为char类型给SOCKET呢?因为SOCKET发送和接受的都是char数据类型。
2、在C#中有byte类型表示字节,无论字节的编码方式是什么都可以用SOCKET发送和接受。
3、C++中的SOCKET只能接受char类型的数据类型,而根据资料说char不是unicode编码,那在C++中怎么样用SOCKET发送unicode编码数据呢?
问题说得不清楚,因为我被这东西搞糊涂了,但有一点是清楚的,那就是怎么样能C#写的客户端正确的显示从C++服务器上得到的字符串。
最好给个两端的伪代码例子,主要是C++端怎么样发送和接受unicode数据
C#发送的是unicode编码格式的数据流,而C++接受是char类型的数组,C++接到后怎么样处理呢?char在C++不是unicode编码格式啊,不解不解不解啊,最好给出发送和接受处理的核心代码
关键在于你怎么对你的数据进行解析和处理
Send(..,char *send,..)TCHAR ch=_T("asdfad");
怎么样用send函数发送ch这字符串呢?
直接Send(..,ch,..)肯定不正确,因为参数类型不对
就是怎么样将一个unicode编码格式的字符串转换成char型字节数组
Send(socket, (char*)buf, wcslen(buf) * 2, ...);