1. 程式人生 > >Windows中的字元轉換(Multibyte to Widechar&&Widechar to Multibyte)

Windows中的字元轉換(Multibyte to Widechar&&Widechar to Multibyte)

本文簡要介紹如何進行多位元組與寬位元組之間的字元轉換

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;