对于URL编码/解码,建议使用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,在"尝试自己"部分,字符串SetFont('Arial',15)
被URL编码为:
setfont程序%28%27Arial%27%2C15%29
那么有没有办法对Delphi XE8中的单引号字符进行URL编码?
答案 0 :(得分:4)
这似乎适用于问题中提到的目的:
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;