我需要使用通过RFC 1738进行URL编码的R 字符串对进行解码。
这些字符串来自PHP请求,并使用uses RFC1738 by default的PHP函数http_build_query
进行了编码。
例如,Hello, World!
变为Hello%2C+world%21
。
您可以使用以下PHP代码轻松try it online:
$data = array(
'text' => 'Hello, world!'
);
echo http_build_query($data, '', '&');
不幸的是,R基本URL编码为uses RFC 3986,这是不同的!
utils::URLdecode("Hello%2C+world%21")
# "Hello,+world!"
# I was hoping httpuv would have an option for RFC 1738 but it doesn't!
httpuv::decodeURIComponent("Hello%2C+world%21")
# "Hello,+world!"
我想找回"Hello, world!"
!我如何用R做到这一点?
我很高兴用空格替换
+
标志,但是,如果这是您的答案,请说明为什么这是正确的。到目前为止,我的研究还没有表明RFC 1738完全是 带有加号的RFC 3986,我不希望出现奇怪的边缘情况...