使用R进行RFC1738的URL解码(PHP默认)

时间:2019-07-09 16:30:59

标签: r urlencode rfc3986 rfc1738 httpuv

我需要使用通过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,我不希望出现奇怪的边缘情况...

0 个答案:

没有答案