escape/unescape编码的Delphi实现

版权声明:

本文由Oak/lyris完成,首发于CSDN,作者保留中文版权。
未经许可,不得使用于任何商业用途。
欢迎转载,但请保持文章及版权声明完整。
如需联络请发邮件:chenwentao@gmail.com

function Escape(Str: string): string;
var
  I: Integer;
begin
  Result := '';
  for I := 1 to Length(Str) do
    Result := Result + '%' + IntToHex(Ord(Str[I]), 2);
end;

function CharToInt(C: char): Integer;
begin
  if Ord((C)) >= 65 then
    Result := 10 + Ord(C) - 65
  else
    Result := Ord(C) - 48;
end;

function HexToInt(Str: string): longint;
var
  I: Integer;
  p1: array[0..1] of Char;
begIn
  Result := 0;
  Str := Trim(Str);
  for I := 1 to  length(Str) do
  begIn
    StrPcopy(p1, Copy(Str, I, 1));
    Result := Result * 16 + CharToInt(p1[0]);
  end;
end;

function UnEscape(Str: string): string;
begin
  Result := '';
  while Length(Str) >= 3 do
  begin
    Str[1] := '#';
    Result := Result + Chr(HexToInt(Copy(Str, 1, 3)));
    Delete(Str, 1, 3);
  end;
end;

功能不用赘述,JavaScript escape/unescape编码的Delphi实现:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值