Top / Programming / C++Builder / 文字コードを変換する

文字コードを変換する

MECSUtilsを使うと簡単に文字コードを変換できます。

MECSUtilsのインストール

MECSUtilsをダウンロード後、プロジェクトに「MECSUtils.pas」を追加します。

プロジェクトを再構築すると「MECSUtils.hpp」が作成されます。

MECSUtilsを使用するファイルに次のコードを追加します。

#include "MECSUtils.hpp"

UnicodeStringから任意の文字コードに変換する

UnicodeStringから任意の文字コードに変換するには、ConvertUnicodeToMultiByte関数を使用します。

//JISコードに変換する
//50220…JIS
UnicodeString uni = L"テスト文字列";
RawByteString body;
Mecsutils::ConvertUnicodeToMultiByte(50220, uni, body);

Ansi文字列から任意の文字コードに変換する

Ansi文字列から任意の文字コードに変換するには、ConvertString関数を使用します。

//Shift_JISからJISに変換する
//932…Shift_JIS
//50220…JIS
AnsiStringT<932> sjisText = "テストの文字列";
RawByteString jisText;
Mecsutils::ConvertString(932, 50220, sjisText, jisText);

そのほかの変換

MECSUtilsには他にもUTF-8/UTF-16/UTF-32の変換など、数多くの変換処理が用意されています。
詳しくは「MECSUtils リファレンス」の「Convert ルーチン」をご覧下さい。

謝辞

このような便利なライブラリを公開してくださったDEKO様に感謝申し上げます。