您现在的位置:首页 >> 基础算法 >> window基础 >> 内容

网址编码的delphi转换URLDecode

时间:2011/9/3 15:35:52 点击:

  核心提示:IE的编码 %后面的就是字符的16进制的字符码 %3A - 3A - 16*3+10 - 58 - chr(58) = ':' %2F - 2F - 16*2+15 - 47 - chr(47) =...

IE的编码 %后面的就是字符的16进制的字符码

%3A -> 3A -> 16*3+10 -> 58 -> chr(58) = ":"
%2F -> 2F -> 16*2+15 -> 47 -> chr(47) = "/"

就是转换过程。

我写了个转换的函数:

function urlDecode(url: string): string;
var i, s, g: Integer;
begin
  Result :='';
 
  for i := 1 to Length(url) do
  begin

    if url[i] = '%' then
    begin
      s := StrtoInt('$' + url[i + 1]) * 16;
      g := StrtoInt('$' + url[i + 2]);

      Result := Result + Chr(s + g);
    end
    else if not (((url[i - 1] = '%') and (url[i + 1] <> '%')) or ((url[i - 2] = '%') and (url[i - 1] <> '%') and (url[i + 1] = '%')) or ((url[i - 2] = '%') and (url[i - 1] <> '%') and (url[i + 1] <> '%'))) then
      Result := Result + url[i];
  end;
end;

作者:网络 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • 盒子文章(www.2ccc.com) © 2024 版权所有 All Rights Reserved.
  • 沪ICP备05001939号