salut,
je vais le mettre ici d'abord pour test :
#include <windows.h>
DWORD WToUTF8(LPWSTR wText,LPSTR szBuff,DWORD cbBuff) { DWORD vSize = lstrlenW(wText); ZeroMemory(szBuff,cbBuff*sizeof(char)); return WideCharToMultiByte(CP_UTF8, 0, wText, vSize, szBuff, cbBuff, NULL, NULL); }
DWORD UTF8ToW(LPSTR wText,LPWSTR wszBuff,DWORD ccBuff) { DWORD vSize = lstrlenA(wText); ZeroMemory(wszBuff,ccBuff*sizeof(WCHAR)); return MultiByteToWideChar(CP_UTF8, 0, wText, vSize, wszBuff, ccBuff); }
DWORD WToOEM(LPWSTR wText,LPSTR szBuff,DWORD cbBuff) { DWORD vSize = lstrlenW(wText); ZeroMemory(szBuff,cbBuff*sizeof(char)); return WideCharToMultiByte(CP_OEMCP, 0, wText, vSize, szBuff, cbBuff, NULL, NULL); }
DWORD OEMToW(LPSTR wText,LPWSTR wszBuff,DWORD ccBuff) { DWORD vSize = lstrlenA(wText); ZeroMemory(wszBuff,ccBuff*sizeof(WCHAR)); return MultiByteToWideChar(CP_OEMCP, 0, wText, vSize, wszBuff, ccBuff); }
int _tmain(int argc, _TCHAR* argv[]) { LPSTR sz = "EBArtSoft%20-%20éà éçڳگÚ|à?"; char szBuff[256]; WCHAR wszBuff[256]; UTF8ToW(sz,wszBuff,256); WToOEM(wszBuff,szBuff,256);
printf( "Original : %s\n" "LPSTR : %s\n" "LPWSTR : %ws\n", sz, szBuff, wszBuff );
getchar();
return 0; }
ShareVB
|