ホーム > デベロッパ > SophiaFramework > BREW C++ 逆引きコード集

BREW C++ プログラミング : SophiaFramework 逆引き FAQ・コード集

URL の2バイト文字をデコードする

URL の2バイト文字をデコードするには、SFBWebUtil::UrlDecode 関数を使用します。

SFXAnsiString str("http%3A%2F%2Fwww.example.com%2F%82Q"
                  "%83o%83C%83g%95%B6%8E%9A%97%F1");     // 変換前文字列
SFXAnsiString ret;                 // 変換後文字列
SInt32 insize = str.GetLength();   // 変換前文字列サイズ
SInt32 outsize;                    // 変換後文字列サイズ

SFBWebUtilSmp webutil = SFBWebUtil::NewInstance();
if (webutil != null) {

    // 変換後文字列のサイズ測定

    webutil->UrlDecode(str.GetCString(), &insize, null, &outsize);
    if (insize == str.GetLength()) {

        // サイズを設定する

        ret.SetLength(outsize);

        // 変換する

        webutil->UrlDecode(str.GetCString(), &insize, ret.GetBuffer(), &outsize);
        
        // ret に結果が格納される
    }
}

参照 SFBWebUtil::NewInstance | SFBWebUtil::UrlDecode | SFXAnsiString::GetLength
SFXAnsiString::GetCString | SFXAnsiString::GetBuffer