> 백엔드 개발 > PHP 튜토리얼 > 将横杠-转码成%2d,这个是使用什么函数转换的?

将横杠-转码成%2d,这个是使用什么函数转换的?

WBOY
풀어 주다: 2016-06-23 14:00:49
원래의
1390명이 탐색했습니다.

将横杠-转码成%2d,这个是使用什么函数转换的?


回复讨论(解决方案)

urlencode .可用urldecode出来。

显然是自定义函数

$s = join('%', array_merge(array(''), str_split(bin2hex('-'), 2)));echo $s;
로그인 후 복사
%2d


urlencode .可用urldecode出来。

我也觉得是这样,但是试了这两个函数,输入还都是原来的-

echo urlencode('-');echo urldecode('-');
로그인 후 복사

显示的都是--

RFC 3986:http://www.faqs.org/rfcs/rfc3986.html
中提到:unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~  
这些非保留字符,在urlencode时,应该使用原有的字符。也就是:
urlencode("-"),
urlencode("字母"),
urlencode(数字)
urlencode(".")
urlencode("_")
urlencode("~")都是原来的字符。( 在 PHP 5.3.0 之前,rawurlencode 根据 » RFC 1738 来编码波浪线(~)。 )
可能这种解释不一定准确。、
但是urldecode("%2d") 确实是“-”

注意urlencode和rawurlencode的编码标准并不同。

网上搜索一下,多呢

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿