URL-编码单引号字符?

URL-encode single quote character?

对于URL-Encoding/Decoding,建议使用Delphi XE7以上的TNetEncoding

所以在 Delphi XE8 中我使用这个代码例如:

uses
  System.NetEncoding;
...
edtEncodedURL.Text := TNetEncoding.URL.Encode('SetFont(''Arial'',15)');

结果如下:

SetFont('Arial'%2C15)

但是,这不会对单引号字符进行编码,如您在上面的示例中所见。

此外,在 W3Schools.com HTML URL Encoding Reference 的 "Try It Yourself" 部分,字符串 SetFont('Arial',15) 被 URL 编码为:

SetFont%28%27Arial%27%2C15%29

那么有没有办法 URL 也对 Delphi XE8 中的单引号字符进行编码?

这似乎适用于问题中提出的目的:

uses
  System.NetEncoding,
  REST.Utils;

procedure TForm1.btnURLEncodeClick(Sender: TObject);
begin
  edtEncodedURL.Text := REST.Utils.URIEncode(edtOriginalURL.Text);
end;

procedure TForm1.btnURLDecodeClick(Sender: TObject);
begin
  edtDecodedURL.Text := TNetEncoding.URL.Decode(edtEncodedURL.Text);
end;