ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 한글 -> 유니코드
    인코딩 2009. 2. 25. 15:35

        WCHAR wFileName[MAX_PATH] ;
        MultiByteToWideChar(CP_ACP, 0, szFileName, -1, wFileName, MAX_PATH) ;
    /*
    or

     // sTime이란 ANSI 문자열을 bstr이란 이름의 유니코드(BSTR 타입) 변수로 변환
     char sTime[] = "유니코드 변환 예제";
     BSTR bstr;
     // sTime을 유니코드로 변환하기에 앞서 먼저 그 길이를 알아야 한다.
     int nLen = MultiByteToWideChar(CP_ACP, 0, sTime, lstrlen(sTime), NULL, NULL);
     // 얻어낸 길이만큼 메모리를 할당한다.
     bstr = SysAllocStringLen(NULL, nLen);
     // 이제 변환을 수행한다.
     MultiByteToWideChar(CP_ACP, 0, sTime, -1, bstr, nLen);
             // 필요없어지면 제거한다.
             SysFreeString(bstr);

    유니코드에서 ANSI 문자열로의 변환 방법
     // newVal이란 BSTR 타입에 있는 유니코드 문자열을 sTime이라는 ANSI 문자열로 변환
     char *sTime;
             int nLen = WideCharToMultiByte(CP_ACP, 0, newVal, -1, sTime, 0, NULL, NULL);
             sTime = malloc(nLen+1);
     WideCharToMultiByte(CP_ACP, 0, newVal, -1, sTime, 128, NULL, NULL);
            // 필요없으면 메모리를 제거한다.
            free(sTime);
    */
    /*
    or

        USES_CONVERSION;
        WCHAR wFile[MAX_PATH];

        // Convert filename to wide character string
        wcsncpy(wFile, T2W(szFile), NUMELMS(wFile)-1);
        wFile[MAX_PATH-1] = 0;
    */
    /*
    or

    #include <atlbase.h>
    //#include <atlconv.h>

        USES_CONVERSION;

        wchar_t *wc = T2W( in );
    //    wchar_t *wc = A2W( in );

    */


    참조 사이트:
Designed by Tistory.