【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 http://mevius.5ch.net/test/read.cgi/tech/1270793556/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
182: デフォルトの名無しさん [sage] 2011/03/09(水) 17:04:06.53 文字コードの変換というか 変換出来ない文字が含まれているかどうかのチェック方法について質問です。 UTF8 の文字列を SJIS に変換しようとしています。 static wxString wxString::FromUTF8(const char *s); の注意書きに、 Note that this method assumes that s is a valid UTF-8 sequence and doesn't do any validation in release builds, it's validity is only checked in debug builds. というのがありまして、 実際に HTTP 経由で取得したデータ (UTF8 であることは確認済み) に 「〜」の上下反対の文字 (SJIS に変換出来ないコード) などが入っていると、 wxString utf8_data; wxStringOutputStream ostream(&utf8_data); httpStream->Read(ostream); wxString sjis_data = wxString::FromUTF8(utf8_data.c_str()); なコードで変換しようとすると sjis_data の中身が空っぽになってしまいます。 リリースビルドなので無視された結果だと思いますが、 wxWidgets 自身に事前にチェックするための関数などはありますか? utf8_data には確かに UTF8 のデータが入っています。 問題を起こす文字が含まれていないときは正常に動作するようです。 OS は Windows で wxWidgets は ANSI 版のを使っています。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/182
184: デフォルトの名無しさん [sage] 2011/03/09(水) 20:02:39.82 >>182 wxStringOperations::IsValidUtf8String http://mevius.5ch.net/test/read.cgi/tech/1270793556/184
186: デフォルトの名無しさん [sage] 2011/03/10(木) 08:25:43.01 >>182 wxString::FromUTF8Unchecked http://mevius.5ch.net/test/read.cgi/tech/1270793556/186
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.037s