Home > C++ | Tips > 文字コード変換

文字コード変換

rubyやらphpの統合開発環境らしいAptana。デバッグできなさそうなので微妙。Javascriptに関してはなかなか良さそう。

UTF8からSJISへの変換は、PHPとかならさくっとできますが、Cではどうなのか。
Cではきついというか、自分で作らなきゃいけないような気がするけど、WinAPIを使えば、ちょっとましになる。
やり方としては、UTF8⇒UCS2⇒SJIS(MS932)。
つまり、


wchar_t *ucs2;
char *sjis;
int wlength;
int length;

wlength= MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
ucs2 = new wchar_t[wlength];     // たぶん、wlength+1とかいらない。ナル文字まで含んだ「文字数」が上で返る。
MultiByteToWideChar(CP_UTF8, 0, utf8, -1, uc2, wlength);

length = WideCharToMultiByte(CP_ACP, 0, ucs2, -1, NULL, 0, NULL, NULL);
sjis = new char[length];
WideCharToMultiByte(CP_ACP, 0, ucs2, -1, sjis, length, NULL, NULL);

delete[] ucs2;
return sjis;

こまかいパラメータとかは、
マイクロソフトの、こことかここを見るといいと思うよ。

以上

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=88
Listed below are links to weblogs that reference
文字コード変換 from コスミー報告書[社外秘]

Home > C++ | Tips > 文字コード変換

Search
Feeds
Meta
 合計:011971
 今日:0098 昨日:0116

Return to page top