现在的位置: 首页 > 综合 > 正文

C++ socket recv 乱码

2014年11月21日 ⁄ 综合 ⁄ 共 393字 ⁄ 字号 评论关闭

因为网络传输过来的一般是UTF-8编码的,而本地肯定是ANSI编码的

所以就需要进行编码转化

主要代码事列如下:

 char text[1024*9]={0};
char buf[1024*10]={0};
	TCHAR wscBuffer[1024*10]={0};
	while(recv(socketfd,text,1024*9,0)>0){

		MultiByteToWideChar( CP_UTF8, 0, text, (int) strlen(text)+1, wscBuffer, sizeof(wscBuffer)/sizeof(wchar_t));

		memset(text,0,1024*9);

		WideCharToMultiByte( CP_ACP, 0, wscBuffer, -1,text, 1024*9, NULL, NULL);

		strcat(buf,text);
		strnset(text,'/0',BUFSIZ);
	}

抱歉!评论已关闭.