delphi URL编码的转换问题即%百分号网址问题  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi URL编码的转换问题即%百分号网址问题


我们常用到的搜索引擎,比如百度、谷歌。

我们举个例子,比如搜“我爱你”:

百度:http://www.baidu.com/s?wd=%CE%D2%B0%AE%C4%E3

谷歌:http://www.google.cn/search?hl=zh-CN&source=hp&q=%E6%88%91%E7%88%B1%E4%BD%A0&aq=f&oq=

红色字体其实表示的都是“我爱你”,但是百度的编码是gb2312、谷歌的编码是utf-8,所以URL转换出来的编码不一样。

在查资料的过程中发现一个url转换很实用的一个网址:共享之

http://www.nengcha.com/code/url/?key=%CE%D2%B0%AE%C4%E3

那么我们在delphi网络编程时有时后用到URL编码转换,很多时候我们使用的是ascII编码和16进制来结合完成,这也不错,今天介绍一种我试验成功的:

源码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
    edt1: TEdit;
    btn1: TButton;
    mmo1: TMemo;
    procedure btn1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
uses HTTPApp;

procedure TForm1.btn1Click(Sender: TObject);
var
s,ss:string;
begin
if Boolean(Length(Trim(edt1.Text))) then
begin
    s:=Trim(edt1.Text);
    ss:=HTTPEncode(s);
    mmo1.Lines.Add('gb2312编码为:');
    mmo1.Lines.Add(ss);
    ss:=AnsiToUtf8(s);
    ss:=HTTPEncode(ss);
    mmo1.Lines.Add('Utf-8编码为:');
    mmo1.Lines.Add(ss);
end;
end;

end.
============

截图:


我们常用到的搜索引擎,比如百度、谷歌。

我们举个例子,比如搜“我爱你”:

百度:http://www.baidu.com/s?wd=%CE%D2%B0%AE%C4%E3

谷歌:http://www.google.cn/search?hl=zh-CN&source=hp&q=%E6%88%91%E7%88%B1%E4%BD%A0&aq=f&oq=

红色字体其实表示的都是“我爱你”,但是百度的编码是gb2312、谷歌的编码是utf-8,所以URL转换出来的编码不一样。

在查资料的过程中发现一个url转换很实用的一个网址:共享之

http://www.nengcha.com/code/url/?key=%CE%D2%B0%AE%C4%E3

那么我们在delphi网络编程时有时后用到URL编码转换,很多时候我们使用的是ascII编码和16进制来结合完成,这也不错,今天介绍一种我试验成功的:

源码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
    edt1: TEdit;
    btn1: TButton;
    mmo1: TMemo;
    procedure btn1Click(Sender: TObject);
private
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
uses HTTPApp;

procedure TForm1.btn1Click(Sender: TObject);
var
s,ss:string;
begin
if Boolean(Length(Trim(edt1.Text))) then
begin
    s:=Trim(edt1.Text);
    ss:=HTTPEncode(s);
    mmo1.Lines.Add('gb2312编码为:');
    mmo1.Lines.Add(ss);
    ss:=AnsiToUtf8(s);
    ss:=HTTPEncode(ss);
    mmo1.Lines.Add('Utf-8编码为:');
    mmo1.Lines.Add(ss);
end;
end;

end.
============

截图:




推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.039524078369141 seconds