[求助]汉字在IE地址栏里面那编码是咋个算法! (100分)

  • 主题发起人 主题发起人 动感超人
  • 开始时间 开始时间

动感超人

Unregistered / Unconfirmed
GUEST, unregistred user!
在IE里面我门输入空格是会被转换成%20
汉字‘我’就会变成%E6%88%91
这是什么编码谁有算法吗
 
URL,URI编码

 
to zhuangbx,
--------------
URL,URI编码
-------------
能详细介绍一下吗?
或者在哪里有相关资料
 
一般先转为UTF8,然后再按字节转为十六进制并在前面加上%
DELPHI中有相应的函数,AnsiToUTF8、IntToHex
 
function EnCodeURL(const RawURL: string): string;
var
WURL: WideString;
AChar: string;
i: Integer;
begin
Result := '';
WURL := RawURL;
for i := 1 to Length(WURL) do
begin
AChar := WURL;
if Length(AChar) > 1 then // 汉字
Result := Format('%s%%%2x%%%2x', [Result, Ord(AChar[1]), Ord(AChar[2])])
else if AChar = ' ' then
Result := Format('%s%%%2x', [Result, Ord(AChar[1])])
else
Result := Result + AChar;
end;
end;

 
谢谢了Delphi函数库自己带了。
HTTPApp单元里面有个函数叫
HTTPEncode
 
后退
顶部