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;
对于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;