Delphi7 中文汉字转网址格式 Utf8编码转换(淘宝搜索中文转网址)

本文介绍了使用Delphi实现HTTP编码(HttpEncode)与解码(HttpDecode)的方法。通过具体示例展示了如何将字符串进行编码并再将其解码回原始形式。此过程对于理解HTTP请求中的数据处理方式很有帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



function HttpEncode(S:AnsiString):string;
var
  P:^Byte;
  I:Cardinal;
begin
  Result:='';
  P:=@S[1];
  Result:=Format('%%%x',[Ord(P^)]);
  for I := 1 to Length(S)-1 do
  begin
    Inc(P);
    Result:=Format('%s%%%x',[Result,Ord(P^)]);
  end;
end;


function HttpDecode(str:AnsiString): string;
var
  List: TStrings;
  tmpStr: AnsiString;
  i: Integer;
begin
  List := TStringList.Create;
  ExtractStrings(['%'], ['%'], PChar(str), List);
  SetLength(tmpStr, List.Count);
  for i := 0 to List.Count - 1 do
  Byte(tmpStr[i+1]) := StrToInt('$' + List[i]);
  List.Free;
  Result := Utf8Decode(tmpStr);

end;


procedure TuMain.btnStartClick(Sender: TObject);
    var
    i :integer;
   s: string;
begin
  s:='衣服';
  s:=HttpEncode(AnsiToUtf8(s));
  showmessage(s);                                            //显示 %E8%A1%A3%E6%9C%8D
  s := HttpDecode(s);
  showmessage(s);
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值