随笔 - 0, 文章 - 2, 评论 - 0, 引用 - 0
数据加载中……

编码转换

 

 1
 2CString Convert(CString str, int sourceCodepage, int targetCodepage) 
 3
 4    // int len=str.GetLength();
 5    
 6    int unicodeLen=MultiByteToWideChar(sourceCodepage,0,str,-1,NULL,0);
 7    
 8    wchar_t * pUnicode; 
 9    pUnicode=new wchar_t[unicodeLen+1];
10    
11    memset(pUnicode,0,(unicodeLen+1)*sizeof(wchar_t));
12    
13    
14    MultiByteToWideChar(sourceCodepage,0,str,-1,(LPWSTR)pUnicode,unicodeLen);
15    
16    BYTE * pTargetData; 
17    pTargetData=new BYTE[1024000];
18    int targetLen=WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char *)pTargetData,0,NULL,NULL);
19    
20    pTargetData=new BYTE[targetLen+1]; 
21    memset(pTargetData,0,targetLen+1);
22    
23    WideCharToMultiByte(targetCodepage,0,(LPWSTR)pUnicode,-1,(char *)pTargetData,targetLen,NULL,NULL);
24    
25    CString rt; 
26    rt.Format("%s",pTargetData);
27    
28    delete pUnicode; 
29    delete pTargetData; 
30    return rt;
31    
32}

posted on 2009-04-29 12:12 郝大个儿 阅读(66) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航:   博客园   博客园最新博文   博问   管理