Delphi/Cpp相当于PHP中的RawURLEncode
我在cpp builder(或delphi)中寻找与PHP RawURLEncode(和Decode)等效的函数 我使用以下字符串进行测试:Delphi/Cpp相当于PHP中的RawURLEncode,php,delphi,c++builder,urlencode,html-encode,Php,Delphi,C++builder,Urlencode,Html Encode,我在cpp builder(或delphi)中寻找与PHP RawURLEncode(和Decode)等效的函数 我使用以下字符串进行测试:\uU%\ uU&\ uU+\ uU=\ uUA\u b\u c\u d\u e\u f\u g\u h(我希望只编码var值,而不是整个URL) rawurlencode返回:\u25\u26\u2b\u3d\u20\u22\u27\u a\u b\u c\u e\u f\u g\u h 我尝试过但没有成功: TIdURI::ParamsEncode:\
\uU%\ uU&\ uU+\ uU=\ uUA\u b\u c\u d\u e\u f\u g\u h
(我希望只编码var值,而不是整个URL)
rawurlencode返回:\u25\u26\u2b\u3d\u20\u22\u27\u a\u b\u c\u e\u f\u g\u h
我尝试过但没有成功:
- TIdURI::ParamsEncode:
\u25&&+\u=\ u20\u22\uu a\u b\u c\u e\u g\u h
- TIdURI::PathEncode:
\uu25&\u2b\u=\ u20\u22\uu a\u b\u c\u d\u e\u g\u h
- TIdURI::URLEncode:错误:无协议(需要完整路径)
- HTTPApp::HTMLEncode:
%uuu=“uuquot;”“uu a”u b“u c”u d“u e”f“g”u h(在“&”之后添加空格) - Wininet::WinHTTPEncode:在单元中找不到函数
- IdGlobal::URLEncode:在单元中找不到函数
- SynaCode::URLEncode:在XE2中找不到单元
RawURLEncode
是.My websearch的一个实现,它产生了一个声明实现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_
_%25%26%2B%3D%20%22%27%_
我成功的Web搜索的关键在于PHP文档中的where is states:
根据RFC 3986进行URL编码
下载你问C++ C++ Builder或Delphi。我给了你Delphi。现在你知道要搜索什么,我相信你可以找到一个干净的C++实现RFC 3986。它确实非常简单。我甚至留下了答案的底部,关于如何执行相同的网络搜索,我做了。-)我已经有“家”编码功能。(对于flash、cpp和php),事实上,我正在搜索使用更标准化和通用函数的库。在这个场景中,似乎更好地维护旧函数,但我非常感谢您的帮助。