我在cpp builder(或delphi)中寻找与PHP RawURLEncode(和Decode)等效的函数。
我使用以下字符串进行测试:_%_&_+_=_ _"_'_a_b_c_d_e_f_g_h_
(我希望只编码var值,而不是整个URL)
rawurlencode返回:_%25_%26_%2B_%3D_%20_%22_%27_a_b_c_d_e_f_g_h_
我尝试过没有成功:
_%25_&_+_=_%20_%22_'_a_b_c_d_e_f_g_h_
_%25_&_%2B_=_%20_%22_'_a_b_c_d_e_f_g_h_
_%_& amp;_+_=_ _& quot;_'_a_b_c_d_e_f_g_h_
(在“&”之后添加空格)答案 0 :(得分:8)
PHP RawURLEncode
是RFC 3986的实现。我的网络搜索产生了这个Delphi unit,声称实施了RFC 3986。
我在你的输入上测试了它:
{$APPTYPE CONSOLE}
uses
System.SysUtils,
UURIEncode in 'UURIEncode.pas';
begin
Writeln(URIEncode('_%_&_+_=_ _"_''_a_b_c_d_e_f_g_h_'));
Readln;
end.
输出结果为:
_%25_%26_%2B_%3D_%20_%22_%27_a_b_c_d_e_f_g_h_
我成功的网络搜索的关键在RawURLEncode
的PHP文档中找到,其中是州:
根据RFC 3986进行URL编码