内容为"65e08fb9843d6728842784274e0b7468697320697320612074657374"

解决方案 »

  1.   

    1.下面这个是从Unicode到Ansi的换:
    unsigned char buf[129]; //发送缓冲区
    ZeroMemory(buf,sizeof(buf)); //缓冲区清零
    CString tmpstr(str); //复制要发送的字符串
    int multibytelen=WideCharToMultiByte( //计算从Unicode转换到Ansi后需要的字节数
    CP_ACP, //根据ANSI code page转换
    WC_COMPOSITECHECK | WC_DEFAULTCHAR, //转换出错用缺省字符代替
    tmpstr.GetBuffer(str.GetLength()), //要转换的字符串地址
    str.GetLength(), //要转换的个数
    0, //转换后字符串放置的地址
    0, //最多转换字符的个数,为0表示返回转换Unicode后需要多少个字节
    0, //缺省
    )
    2.下面这个是从Ansi到Unicode的换:
    int widecharlen=MultiByteToWideChar( //计算从Ansi转换到Unicode后需要的字节数
    CP_ACP,
    MB_COMPOSITE,
    szBuf, //要转换的Ansi字符串
    -1, //自动计算长度
    0,
    0
            );
    unsigned char szBuff[MAX_BUFF];
    ZeroMemory(szBuff,sizeof(szBuff));
    MultiByteToWideChar( //从Ansi转换到Unicode字符
    CP_ACP,
    MB_COMPOSITE,
    szBuf,
    -1,
    (LPWSTR)szBuff, //转换到tmpstr
    widecharlen //最多转换widecharlen个Unicode字符
            );
      

  2.   

    to : 54783szg(浪淘沙) 
    方法1 编译时有错误啊;
    是否能给个能运行得实例?
      

  3.   

    将ANSI转换到Unicode
    (1)通过L这个宏来实现,例如: CLSIDFromProgID( L"MAPI.Folder",&clsid);
    (2)通过MultiByteToWideChar函数实现转换,例如:
    char *szProgID = "MAPI.Folder";
    WCHAR szWideProgID[128];
    CLSID clsid;
    long lLen = MultiByteToWideChar(CP_ACP,0,szProgID,strlen(szProgID),szWideProgID,sizeof(szWideProgID));
    szWideProgID[lLen] = '\0'; 
    (3)通过A2W宏来实现,例如: 
    USES_CONVERSION; 
    CLSIDFromProgID( A2W(szProgID),&clsid); 
    将Unicode转换到ANSI
    (1)使用WideCharToMultiByte,例如:
    // 假设已经有了一个Unicode 串 wszSomeString... 
    char szANSIString [MAX_PATH]; 
    WideCharToMultiByte ( CP_ACP, WC_COMPOSITECHECK, wszSomeString, -1, szANSIString, sizeof(szANSIString), NULL, NULL ); 
    (2)使用W2A宏来实现,例如:
    USES_CONVERSION;
    pTemp=W2A(wszSomeString);