char* ANSIToUTF8(const char * pszCode)
{
int nLength, nLength2;
BSTR bstrCode;
char* pszUTFCode = NULL;
nLength = MultiByteToWideChar(CP_ACP, 0, pszCode, strlen(pszCode), NULL, NULL);
bstrCode = SysAllocStringLen(NULL, nLength);
MultiByteToWideChar(CP_ACP, 0, pszCode, strlen(pszCode), bstrCode, nLength);
nLength2 = WideCharToMultiByte(CP_UTF8, 0, bstrCode, -1, pszUTFCode, 0, NULL, NULL);
pszUTFCode = (char*)malloc(nLength2+1);
WideCharToMultiByte(CP_UTF8, 0, bstrCode, -1, pszUTFCode, nLength2, NULL, NULL);
return pszUTFCode;
}
char* UTF8ToANSI(const char *pszCode)
{
BSTR bstrWide;
char* pszAnsi;
int nLength;
nLength = MultiByteToWideChar(CP_UTF8, 0, pszCode, strlen(pszCode) + 1, NULL, NULL);
bstrWide = SysAllocStringLen(NULL, nLength);
MultiByteToWideChar(CP_UTF8, 0, pszCode, strlen(pszCode) + 1, bstrWide, nLength);
nLength = WideCharToMultiByte(CP_ACP, 0, bstrWide, -1, NULL, 0, NULL, NULL);
pszAnsi = new char[nLength];
WideCharToMultiByte(CP_ACP, 0, bstrWide, -1, pszAnsi, nLength, NULL, NULL);
SysFreeString(bstrWide);
return pszAnsi;
}
'오래된것' 카테고리의 다른 글
boost 라이브러리 윈도우 설치 (0) | 2012.07.25 |
---|---|
BB 텍사스 홀덤 BB 텍사스 홀뎀 BB Texas Holdem (0) | 2012.07.06 |
java에서 다른 프로세서 실행시키기 (0) | 2012.07.04 |
유니티 비활성화 상태에서도 작동하게 하기 (0) | 2012.07.04 |
사유리 닭다리 시식 (0) | 2012.07.03 |