delphi URL 编码的转换

Posted acmexyz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi URL 编码的转换相关的知识,希望对你有一定的参考价值。

从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编码后的字符串应该是带有两个百分号的,而这个是三个百分号。多尝试一下就不难发现googleURL的编码解码规则如下:
1、编码,先UTF8编码,然后再URL编码。      

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

NewStr:=HttpEncode(UTF8Encode(OiginStr))      

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

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

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

OiginStr:=UTF8Decode(HttpDecode(NewStr))      

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

相对来说百度就简单得多,一个httpencode就搞定了






以上是关于delphi URL 编码的转换的主要内容,如果未能解决你的问题,请参考以下文章

Delphi编码转换

Delphi 对应JAVA的URL编码处理

Utf8编码转换问题 Delphi

delphi 编码与汉字转换问题

Delphi与字符编码(实战篇)(MultiByteToWideChar会返回转换后的宽字符串长度)

Delphi中怎么通过http get方式来调用url