TCPIP

Command 창에서는 Multibyte 문자로 입력받으므로,

MultiByte 입력 -> 내부에서 유니코드로 처리 -> 보낼 때 BSTR -> BSTR로 받아서 -> 유니코드로 변환 작업.

int cstringlen, out_size = 0;
BSTR wstr;
cstringlen = strlen(buf);
out_size = MultiByteToWideChar(CP_UTF8 , 0, buf, cstringlen, NULL, 0);
wstr = SysAllocStringLen(NULL, out_size);
MultiByteToWideChar(CP_UTF8, 0, buf, cstringlen, wstr, out_size);

 

보내고 받는 쪽 모두 코드를 UTF8로 해놓을 것. CP_ACP로 해놓으면 각각의 시스템별 코드페이지를 참조해서 엉망이된다.

 

콘솔 시 : 보내는 쪽 CP_ACP로 변환한 뒤 wchar 대응시키고, 이걸 보낼 땐 CP_UTF8로 바꿔서 전송.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.