windows socket中send函数只能发送char *,但我的工程编码是unicode?
send(
_In_ SOCKET s,
_In_reads_bytes_(len) const char FAR * buf,
_In_ int len,
_In_ int flags
);
发现转化成多字节发送,服务端那边就乱码了。。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
为什么要转码?
char *
你可以理解为void *
,强转一下就行了,接收端接收后强转回去不就得了。对于 socket 而言,就只是字节流而已,没有什么 Unicode 之分。服务器方是否按照多字节解码?如果想要正确的通信结果,请确保客户端服务区端用同一套字符编码解码方案
已解决,可以用以下方法: