Windows中的字元轉換(Multibyte to Widechar&&Widechar to Multibyte)
阿新 • • 發佈:2019-02-11
本文簡要介紹如何進行多位元組與寬位元組之間的字元轉換
1. 多位元組到寬位元組
假設要轉換的內容為
char* pMultibyteToBeConverted;
轉換方式為:假設以簡體中文(936)作為編碼方式
DWORD dwSize = MultibyteToWideChar(936, 0, pMultibyteToBeConverted, -1, 0, 0);
wchar_t* pWide = new wchar_t[dwSize];
MultibyteToWideChar(936, 0, pMultibyteToBeConverted, -1, pWide, dwSize);
轉換結果就存在pWide中
記住最後使用完後要釋放記憶體
delete []pWide;
2. 寬位元組到多位元組
假設要轉換的內容為
char* pWideCharToBeConverted;
轉換方式為:假設以簡體中文(936)作為編碼方式
DWORD dwSize = WideCharToMultibyte(936, 0, pWideCharToBeConverted, -1, 0, 0, 0, false);
char* pMulitibyte = new char[dwSize];
WideCharToMultibyte(936, 0, pWideCharToBeConverted, -1, pMulitibyte , dwSize, 0, false);
轉換結果就存在pMulitibyte 中
記住最後使用完後要釋放記憶體
delete []pMulitibyte;