Delphi网址链接Url 不是英文需要进行转码

本文详细解析了Google URL编码解码方式,指出其与标准HTTP编码的区别,并提供了使用Delphi进行编码和解码的具体方法,包括TIdURI组件和HttpApp单元的使用技巧。

从delphi的角度看Google(谷歌)URL编码解码方式 
在网上搜索了一下,似乎没有什么关于google的URL编码解码的很详细的资料,因此在这里写一下,希望给有用的人提供一点帮助。 
使用google谷歌搜索一下关键词,对应的编码如下: 
刀:%E5%88%80 
刀具:%E5%88%80%E5%85%B7 
刀具网:%E5%88%80%E5%85%B7%E7%9A%84 
因此可见,google对URL的编码并非简单的httpencode编码,因为httpencode编码后的字符串应该是带有两个百分号的,而这个是三个百分号。  

转码方法:

有两种方式第一种(中文)  这个可以直接输入链接(返回的也是链接):   

uses

  IdURI;

..

begin

  S := TIdURI.URLEncode(str);//编码  

//

  S := TIdURI.URLDecode(str);//解码

end;

第二种  需输入非英文字符串(不能直接输入链接):

1、编码,先UTF8编码,然后再URL编码。

      使用delphi编码的方法:加入待编码原始字符串为OiginStr,则编码后的字符串为:

      NewStr:=HttpEncode(UTF8Encode(OiginStr))

      其中HttpEncode函数需要用到HttpApp,记得uses中加入。

2、解码,先URL解码,然后再UTF8解码。

      使用delphi解码的方法:加入待解码字符串为NewStr,则解码后的原始字符串为:

      OiginStr:=UTF8Decode(HttpDecode(NewStr))

      其中HttpEncode函数需要用到HttpApp,记得uses中加入。

全国1:20万地质图打包卖【文件大小7.13GB】mapgis矢量地质数据分幅岩性断层数据库本数据来自中国地质调查局,目前是我国的、实测的、全国性的1:20万区域地质调查结果。数据格式:mapgis坐标系统:北京1954地理坐标系统20万地质图图例共计2083张涉及1043个图幅图 层 内 容 图层代码 图 层 含 义 图元类型 基本信息图层 L01J 图幅基本信息 弧段 水系图层 L02H 单线河流(含季节性河流和干沟)、海岸线等 弧段 L02S 双线河、湖泊、水库、雪线等 多边形 L02Z 沼泽地 多边形 地层图层 D01J 所有地质界线(包括地层界线、变质地层界线、火山岩性界线、非正式地层单位界线、侵入岩界线及水体界线和断层界线等) 弧段 D01D 沉积地层单位和火山沉积地层单位 多边形 D01B 变质岩系地层单位 多边形 火山岩岩性图层 D02H 火山岩岩性 多边形 非正式地层单位图层 D03D 非正式地层单位 多边形 侵入岩图层 D04N 侵入岩年代单位 多边形 D04P 侵入岩谱系单位 多边形 脉岩图层 D05M 脉岩 多边形 围岩蚀变图层 D06S 各种围岩蚀变带 多边形 混合岩化带、变质相带图层 D07H 各种混合岩化带 多边形 D07B 变质相带 多边形 断层图层 D08D 断层 弧段 构造变形带图层 D09G 构造变形带 多边形 矿产图层 D11K 矿产地 点 产状符号图层 D12C 产状符号 点 其它图元图层 D13H 化石采样点 点 D13T 同位素年龄采样点 点 D13K 钻孔点 点 D13S 各类火山口 点 D13Q 泉点 点 D13P 剖面线 弧段其中, 有部分图幅中脉岩以点图元表示,增加点图元脉岩图层,图层代码为D05T。 有部分图幅中围岩蚀变以点图元表示,增加点图元围岩蚀变图层,图层代码为D06T。 有部分图幅中构造变形带分别为不参与拓扑处理的多边形图元和弧段图元,增加不参与拓扑的多边形构造变形带图层和弧段图元的构造变形带图层,图层代码分别为D09R、D09L。 有部分图幅中产状符号以弧段图元表示,增加弧段图元产状图层,图层代码为D12L。 有部分图幅中火山口以多边形图元表示,增加多边形图元火山口图层,图层代码为D13SP。 图层命名 为图幅编号缩写加图层代码,如若尔盖县幅,图幅编号I-48-19,图幅编号缩写为I4819,对于地质界线图层,图层名即为I4819D01J,对于断层图层,图层名即为I4819D08D,以此类推。 图元编号规则 图元编号为图幅编号缩写加图层代码加5位顺序号。如若尔盖县幅,图幅编号I-48-19,图幅编号缩写为I4819,对于地质界线图层(D01J)中顺序码为00011的某一图元,其图元编号为I4819D01J00011。其中, 有部分图幅中脉岩以点图元表示,增加点图元脉岩图层,图层代码为D05T。 有部分图幅中围岩蚀变以点图元表示,增加点图元围岩蚀变图层,图层代码为D06T。 有部分图幅中构造变形带分别为不参与拓扑处理的多边形图元和弧段图元,增加不参与拓扑的多边形构造变形带图层和弧段图元的构造变形带图层,图层代码分别为D09R、D09L。 有部分图幅中产状符号以弧段图元表示,增加弧段图元产状图层,图层代码为D12L。 有部分图幅中火山口以多边形图元表示,增加多边形图元火山口图层,图层代码为D13SP。 图层命名 为图幅编号缩写加图层代码,如若尔盖县幅,图幅编号I-48-19,图幅编号缩写为I4819,对于地质界线图层,图层名即为I4819D01J,对于断层图层,图层名即为I4819D08D,以此类推。 图元编号规则 图元编号为图幅编号缩写加图层代码加5位顺序号。如若尔盖县幅,图幅编号I-48-19,图幅编号缩写为I4819,对于地质界线图层(D01J)中顺序码为00011的某一图元,其图元编号为I4819D01J00011。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值