Delphi中URL的编码与解码,即urlencode的使用


本文整理自网络,侵删。

 
一、URL简介
    URL是网页的地址,比如 http://www. .com。Web 浏览器通过 URL 从 web 服务器请求页面。
    由于URL字符串常常会包含非ASCII字符,URL在传输过程中,往往出现错误。因此,可以将非字符串字符,让一些特殊ASCII字符组合,代替非ASCII字符。这就是编码转换,当字符串传输后,可以返回原RUL字符串(解码)。
    URL只能使用 ASCII 字符集来通过因特网进行发送。URL编码,就是会将RUL字符转换为可通过因特网传输的格式。
    URL编码使用“%”其后跟随两位的十六进制数来替换非 ASCII 字符。比如“?”用“%A9”代替。
    URL不能包含空格。URL编码通常使用“+”来替换空格。

二、RUL编码与解码
    1、uses HttpApp;

    2、编码,先UTF8编码,然后再URL编码,不然和标准的url_encode()编码结果不一致,查询结果自然不是预期的
    S2 := HttpEncode(UTF8Encode(S1));

    3、解码,先URL解码,然后再UTF8解码,否则结果是乱码。
    S1 := UTF8Decode(HttpDecode(S2));

三、RUL编码与解码举例

方法一:
uses 
  Httpapp; 

...
begin
  S := HttpEncode(UTF8EnCode('中文'));
  //或者:
  //S := HttpEncode(AnsiToUtf8('中文'));
end;


方法二:
uses
  IdURI;

..
begin
  S := TIdURI.URLEncode(str);
//
  S := TIdURI.URLDecode(str);
end;

相关阅读 >>

Delphi禁止webbrowser弹出窗口或者脚本错误

Delphi iddecodermime 对图像编码base64解码成图像文件

fmsoft_unigui个文件说明

Delphi中获取光标句柄代码(包含获取当前线程id)

Delphi 简单的软件注册demo

java2op.exe,Delphi安卓原生桥接文件生成器

Delphi-获取毫秒-计算代码运行的时间

dll 的静态调用实例代码

Delphi inputbox 用法

Delphi cef4 忽略不安全网站

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...