首页 > 其他分享 >Delphi中URL的编码与解码;即urlencode的使用

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

时间:2023-07-26 16:55:58浏览次数:40  
标签:urlencode 编码 RUL 字符 URL Delphi ASCII 解码

一、URL简介
    URL是网页的地址,比如 ​​ ​http://www.shanhaiMy.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;

标签:urlencode,编码,RUL,字符,URL,Delphi,ASCII,解码
From: https://www.cnblogs.com/lucken2000/p/17582930.html

相关文章

  • js校验IPv4/IPv6/域名/url等相关正则
    /***域名校验eg:www.baidu.com*@param{*}val需要校验的值*/exportfunctionisDomain(val){constreg=/^([0-9a-zA-Z-]{1,}\.)+([a-zA-Z]{2,})$/;returnreg.test(val);}/***ipv4校验eg:10.0.0.1*@param{*}val需要校验的值*/exportfunc......
  • 生成图片url地址 python
    生成图片URL地址的Python实现步骤作为一名经验丰富的开发者,我将教你如何使用Python来生成图片URL地址。下面是整个流程的步骤。步骤概览步骤描述1导入必要的库2定义图片文件路径3生成URL地址4输出URL地址现在我们将逐步进行说明,教你每一步需要做什么,......
  • 通过iptables转发后的端口telnet通但是curl不通的问题
    今天遇到一个问题,一个隔离安全域的服务器需要访问承载网上的gitlab,但是无法直接做互通,所以需要通过iptables转发一次。完成iptables规则后,发现telnet端口是通的但是curlhttp:地址加端口就会返回不通。于是不停的改iptables规则,甚至放行forword规则,最后检查发现是存在外网的代理(代......
  • urls配置
    """URLconfigurationformyprojectproject.The`urlpatterns`listroutesURLstoviews.Formoreinformationpleasesee:https://docs.djangoproject.com/en/4.2/topics/http/urls/Examples:Functionviews1.Addanimport:frommy_appimp......
  • Delphi7 TClientDataSet作为内存数据集合使用
    IDE:Delphi7使用TClientDataSet控件在Delphi中保存内存数据集合(相当于Java中的List<Map>),代码片段:procedureTMainForm.btnExportClick(Sender:TObject);tmpCds:TClientDataSet;tmpStr:string;begin//TClientDataSet作为内存数据集合使用//*********************......
  • springboot项目启动找不到外部入口url怎么办?
    启动类下输出控制面板直接打印@Slf4j@SpringBootApplicationpublicclassSpringboot03Application{publicstaticvoidmain(String[]args)throwsUnknownHostException{ConfigurableApplicationContextcontext=SpringApplication.run(Springboot03App......
  • url中的参数带有&连接符号处理
     keyword:url参数 连接符  %26代替&,  %3F代替?   接受页面不需要改动任何, &的asc码为%26. ?的asc码为%3F. 如:toUrlProject.action?url=nonTopicDetailPlanTask.action%3FprojectInfo.id='+@moduleId+'%26menuId=26......
  • 给 SAP Fiori Launchpad 配置自定义 url
    步骤在部署了Fiori前端应用的frontend服务器上,使用事务码sicf.选择hierarchytypeSERVICE然后点击执行按钮。选择ExternalAliases,然后选定一个host,创建externalaliases.IntheExternalAliasfield,enterthealiasunderwhichyouwantthelaunchpad......
  • 【补充】多个URL公用一个是视图函数
    【补充】多个URL公用一个是视图函数我们可以根据路由地址后面参数的不同跳转到指定的功能函数里面我们也可以在函数内根据关键位置传参,跳转到指定路由#侧边栏筛选页面搭建----指向同一个路由##(1)分类筛选http://127.0.0.1:8000/dream/category/1##re_path(r'^(?......
  • 从输入URL到页面加载完成的过程中都发生了什么
      首先,对于http肯定是有客户端和服务器的,在这个语境中,客户端和服务器本质上也都是一个软件,实现了http协议相关标准的软件。客户端一般由都是由浏览器充当,也就是说,在浏览器中实现了http客户端的相关功能。而服务器的实现就多种多样啦,我们可以用java写servlet,c#写ASP.net,还有php,r......