>  기사  >  백엔드 개발  >  PHP 소스 코드 23에 대한 간략한 토론: urlencode 함수에 대하여

PHP 소스 코드 23에 대한 간략한 토론: urlencode 함수에 대하여

不言
不言원래의
2018-06-28 17:53:432774검색

이 글에서는 주로 PHP 소스 코드 23에 대해 소개합니다. urlencode 함수에 대해서는 특정 참조 값이 있습니다. 이제 필요한 친구들이 참조할 수 있습니다.

PHP 소스 코드 23에 대해 이야기하기: urlencode 함수에 대해

나는 한동안 PHP의 소스 코드를 읽지 않았습니다. 이전에 구입한 책 중 일부를 읽었습니다. 한 번 읽었지만 해마다 느낌이 달라요

urlencode 함수는 개발 과정에서 자주 접하게 되는데, 문자열 인코딩에 작용하여 URL의 요청 부분에 사용됩니다. 🎜🎜#urlencode 함수의 기능은 URL 문자열 인코딩
string urlencode(string str)
문자열을 반환합니다. -_를 제외하고 이 문자열에서 영숫자가 아닌 모든 문자는 백분율 기호로 대체됩니다. (%) 뒤에 두 개의 16진수 숫자, 공백이 더하기 기호(+)로 인코딩됩니다. 이 인코딩은 WWW 형식 POST 데이터의 인코딩과 동일하며 application/x-www-form-urlencoded 미디어 유형과 동일한 인코딩입니다. 역사적인 이유로 이 인코딩은 더하기 기호(+)로 인코딩 공간이 있는 RFC1738 인코딩(rawurlencode() 참조)과 다릅니다.
standard/url.c 파일의 493행에서 이 함수의 구현을 볼 수 있습니다.

 out_str = php_url_encode(in_str, in_str_len, &out_str_len);RETURN_STRINGL(out_str, out_str_len, 0);

php_url_encode 함수를 보면 #ifndef CHARSET_EBCDIC의 컴파일 판단에서 나는 항상 #ifndef를 #ifdef로 간주했는데, 이는 이해하기 이상하게 만듭니다.

php_url_encode 함수는 전체 문자열을 탐색하고 각 문자를 바꾸는 프로세스입니다. # 🎜 🎜#-_를 제외한 모든 영숫자가 아닌 문자는 퍼센트 기호(%) 뒤에 두 개의 16진수 숫자,

컴파일 시

처리 시 EBCDIC에 대한 인코딩이 있습니다. 공백은 더하기 기호(+)로 인코딩됩니다. (

if (c == ' ') {

*to++ = '+';
}#🎜 🎜#
위 내용은 다음과 같습니다. 이 글의 전체 내용이 모든 분들의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용을 보시려면 PHP 중국어 웹사이트를 주목해주세요!

관련 추천:

#🎜🎜 #

PHP 소스 코드 21에 대한 간략한 토론: array_slice 함수 정보

PHP 소스 코드 22에 대한 간략한 토론: array_splice 함수에 대하여#🎜🎜 #

위 내용은 PHP 소스 코드 23에 대한 간략한 토론: urlencode 함수에 대하여의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.