フリーソフト

« [LaTeX] フロートと本文の間のスペース調整 | トップページ | [Delphi,BCB] アイコンリソースを追加したらアプリのアイコンが変わった! »

[BCB] HTTP Encode

AnsiString __fastcall HTTPEncodeUTF8(const AnsiString AStr)
{
  WideString WStr=AStr;
  UTF8String UStr=UTF8Encode(AStr);

  AnsiString Result="";
  for (int i=1;i<=UStr.Length();i++) {
    byte Ch=UStr[i];
    if ((Ch>='A' && Ch<='Z') ||
        (Ch>='a' && Ch<='z') ||
        (Ch=='*') ||
        (Ch=='@') ||
        (Ch=='.') ||
        (Ch=='_') ||
        (Ch=='-')) {
      Result=Result+(char)Ch;
    } else if (Ch==' ') {
      Result=Result+"+";
    } else {
      Result=Result+"%"+AnsiString().sprintf("%.2X",Ch);
    }
  }
  return Result;
}

« [LaTeX] フロートと本文の間のスペース調整 | トップページ | [Delphi,BCB] アイコンリソースを追加したらアプリのアイコンが変わった! »

C++Builder」カテゴリの記事

アルゴリズム」カテゴリの記事