将ANSI转换到Unicode 将Unicode转换到ANSI

时间:2021-12-17 23:42:06
将ANSI转换到Unicode 将Unicode转换到ANSI

将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);