コードページ変換(VC++) コードページの違いシフトJIS、JIS、UTF-8、ユニコード(Unicode)など文字コードを互いに変換する為に、下記の二つのWindowsAPIを使えます。MultiByteToWideChar()関数は、各コードページの文字列をワイド文字列(Unicode)にコンバートします。WideCharToMultiByte()関数は、ワイド文字列(Unicode)を各コードページの文字列にコンバートします。 int MultiByteToWideChar( UINT CodePage, // コードページ DWORD dwFlags, // 文字の種類を指定するフラグ LPCSTR lpMultiByteStr, // マップ元文字列のアドレス int cchMultiByte, // マップ元文字列のバイト数 LPWSTR lpWideCharStr, // マップ先ワイド文字列を入れるバッファのアドレス int cchWideChar); // バッファのサイズ int WideCharToMultiByte( UINT CodePage, // コードページ DWORD dwFlags, // 処理速度とマッピング方法を決定するフラグ LPCWSTR lpWideCharStr, // ワイド文字列のアドレス int cchWideChar, // ワイド文字列の文字数 LPSTR lpMultiByteStr, // 新しい文字列を受け取るバッファのアドレス int cchMultiByte, // 新しい文字列を受け取るバッファのサイズ LPCSTR lpDefaultChar, // マップできない文字の既定値のアドレス LPBOOL lpUsedDefaultChar); // 既定の文字を使ったときにセットするフラグのアドレス
例1:シフトJISからユニコード(Unicode)に変換する。 |