欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP rawurlencode与urlencode函数的深入分析

程序员文章站 2022-05-31 18:09:51
问题:2个函数都是针对字符串转义使其适合做文件名。该用哪个?哪个更标准? 结论:rawurlencode遵守是94年国际标准备忘录rfc 1738,urlencode实现...

问题:2个函数都是针对字符串转义使其适合做文件名。该用哪个?哪个更标准?

结论:
rawurlencode遵守是94年国际标准备忘录rfc 1738,
urlencode实现的是传统做法,和上者的主要区别是对空格的转义是'+'而不是'%20'
javascript的encodeurl也是94年标准,

而javascript的escape是另一种用"%xxx"标记unicode编码的方法。

推荐在php中使用用rawurlencode。弃用urlencode

样例
source:

超级无敌的人sadha sajdh数据样本sdls fhejrthcxzb.file.jpeg

php urlencode:
%e8%b6%85%e7%ba%a7%e6%97%a0%e6%95%8c%e7%9a%84%e4%ba%basadha+sajdh%e6%95%b0%e6%8d%ae%e6%a0%b7%e6%9c%acsdls+fhejrthcxzb.file.jpeg

php rawurlencode:
%e8%b6%85%e7%ba%a7%e6%97%a0%e6%95%8c%e7%9a%84%e4%ba%basadha%20sajdh%e6%95%b0%e6%8d%ae%e6%a0%b7%e6%9c%acsdls%20fhejrthcxzb.file.jpeg

javascript encodeuri:
%e8%b6%85%e7%ba%a7%e6%97%a0%e6%95%8c%e7%9a%84%e4%ba%basadha%20sajdh%e6%95%b0%e6%8d%ae%e6%a0%b7%e6%9c%acsdls%20fhejrthcxzb.file.jpeg

javascript escape:
%u8d85%u7ea7%u65e0%u654c%u7684%u4ebasadha%20sajdh%u6570%u636e%u6837%u672csdls%20fhejrthcxzb.file.jpeg