백엔드 개발 PHP 튜토리얼 php urlencode()与urldecode()函数字符编码原理详解_php技巧

php urlencode()与urldecode()函数字符编码原理详解_php技巧

May 17, 2016 am 09:14 AM
urldecode urlencode

其原理就是把中文字符转换为十六进制并按某种规则进行字符串组合,实现字符的编码与解编码,保证URL数据传递过程中字符的完整性和兼容性,主要讨论中文字符的编码情况。

一,FireFox浏览器编码中文字符

在Firefox浏览器下如果输入中文字符,将会自动实现URL编码,如下

按下Enter键前
php-internet-url-encode-before
按下Enter键后
php-internet-url-encode

二,urlencode()函数原理

urlencode()函数用于编码URL字符串,这里主要讨论中文字符的编码情况,

实例如下

复制代码 代码如下:

echo urlencode('不要迷恋哥');//输出:%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7

urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%,了解了这个原理,可以实现自定义的URL编码函数,代码如下
复制代码 代码如下:

$string = "不要迷恋哥";
$length = strlen($string);
echo $string;
$result = array();
//十进制
for($i=0;$iif(ord($string[$i])>127){
$result[] = ord($string[$i]).' '.ord($string[++$i]);
}
}
var_dump($result);
//十六进制
$strings = array();
foreach($result as $v){
$dec = explode(" ",$v);
$strings[] = "%".dechex($dec[0])." "."%".dechex($dec[1]);
}
var_dump($strings);

php-self-urlencode

上面代码在[PHP实现中文字符进制转换原理分析]一文中中文字符转十六进制原理分析部分有详细讨论,通过获取汉字的各个字符再转换为十六进制,同时在每个字符前面加上一个特殊的标识符%,就实现了urlencode()函数的功能,输出结果如下
然后对输出的结果与直接使用urlencode()编码的字符进行比较,如上:%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7

通过上面实例可知,使用urlencode()函数编码中文字符实质上就是把字符转换为十六进制再在第个字符左边加上一个特殊的标识符%

三,urldecode()函数原理

使用urldecode()函数解码已编码的 URL 字符串,实例如下

echo urldecode('%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7');//输出:不要迷恋哥
urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符,结合上面实例,同样可实现自定义函数解码字符串
复制代码 代码如下:

$string = '%B2%BB%D2%AA%C3%D4%C1%B5%B8%E7';
$length = strlen($string);
$hexs = array();
for($i=0;$iif($string[$i] == '%'){
$hexs[] = $string[++$i].$string[++$i];
}
}
$num = count($hexs);
for($i=0;$iecho chr(hexdec($hexs[$i])).chr(hexdec($hexs[++$i]));
}

上面实例代码首先按字符串的规则取出各个字符的十六进制,然后使用hexdec()函数把十六进制转换为十进制,然后再使用chr()函数把十进制转换为字符,实现十六进制转换为字符。输出结果如下

php-self-urldecode

四,urldecode()与urlencode()函数说明

urlencode
(PHP 3, PHP 4, PHP 5)
urlencode -- 编码 URL 字符串
说明
string urlencode ( string str )
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页

urldecode
(PHP 3, PHP 4, PHP 5)
urldecode -- 解码已编码的 URL 字符串
说明
string urldecode ( string str )
解码给出的已编码字符串中的任何 %##。返回解码后的字符串。

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 urldecode() 함수: URL로 인코딩된 문자열을 원시 문자열로 디코딩하고 디코딩 오류를 처리하는 방법 PHP의 urldecode() 함수: URL로 인코딩된 문자열을 원시 문자열로 디코딩하고 디코딩 오류를 처리하는 방법 Nov 03, 2023 pm 03:17 PM

PHP의 urldecode() 함수는 PHP4에서 만들어졌으며 일반적인 URL 디코딩 방법입니다. URL 인코딩은 URL을 서버로 전송하거나 URL을 처리하기 위해 URL에 포함된 영어가 아닌 문자를 특수 문자로 변환하는 방법입니다. urldecode() 함수는 이러한 특수 문자를 원래 문자열로 복원합니다. 이 함수의 구문은 다음과 같습니다. stringurldecode(string$str) 매개변수 str은 디코딩해야 하는 문자를 나타냅니다.

PHP의 urlencode() 함수: 문자열을 URL 안전 형식으로 인코딩하는 방법 PHP의 urlencode() 함수: 문자열을 URL 안전 형식으로 인코딩하는 방법 Nov 03, 2023 pm 12:39 PM

PHP의 urlencode() 함수: 문자열을 URL 안전 형식으로 인코딩하는 방법, 구체적인 코드 예제가 필요합니다. 인터넷이 발달하면서 URL은 일상 생활에서 널리 사용되며 일부 특수 문자가 포함된 문자열을 인코딩해야 하는 경우가 많습니다. URL 안전 형식. URL에 매개변수를 전달하거나 웹페이지를 요청하는 형식입니다. PHP는 이 작업을 수행하기 위해 urlencode() 함수를 제공합니다. 이 기사에서는 urlencode() 함수의 사용법을 소개하고 몇 가지 구체적인 코드 예제를 제공합니다. 1. 당신

urlencode 함수를 사용하여 PHP에서 URL을 인코딩하는 방법 urlencode 함수를 사용하여 PHP에서 URL을 인코딩하는 방법 Jun 26, 2023 pm 12:48 PM

현대 개발에서는 URL을 통해 데이터를 전달하는 것이 일반적인 방법입니다. 그러나 URL에는 공백, 슬래시, 물음표 등의 일부 특수 문자가 포함될 수 있으므로 이러한 특수 문자는 URL의 구조를 파괴하고 데이터 전송에 실패하게 합니다. 이러한 상황을 방지하기 위해 PHP는 URL을 전송 가능한 형식으로 인코딩할 수 있는 urlencode 함수를 제공합니다. urlencode 함수의 사용은 매우 간단합니다: stringurlencode(string)

PHP 함수 소개—urlencode(): URL 인코딩 PHP 함수 소개—urlencode(): URL 인코딩 Jul 25, 2023 pm 09:25 PM

PHP 함수 소개 - urlencode(): URL 인코딩 웹 애플리케이션을 개발할 때 URL을 인코딩해야 하는 상황에 자주 직면하게 됩니다. URL 인코딩은 URL의 특수 문자가 올바르게 전달되도록 보장하여 문제나 잘못된 결과를 방지합니다. PHP에서는 urlencode() 함수를 사용하여 URL 인코딩을 수행할 수 있습니다. urlencode() 함수의 기능은 문자열을 URL 사양에 맞는 인코딩 형식으로 변환하는 것입니다. 문자열에서 영숫자가 아닌 문자를 다음으로 변환합니다.

PHP의 urldecode() 함수는 URL을 디코딩하는 데 사용됩니다. PHP의 urldecode() 함수는 URL을 디코딩하는 데 사용됩니다. Nov 18, 2023 am 10:07 AM

PHP의 urldecode() 함수는 URL을 디코딩하고 이스케이프된 문자를 원래 문자로 복원하는 데 사용됩니다. URL의 매개변수를 처리할 때 urldecode() 함수를 사용해야 하는 경우가 많습니다. urldecode() 함수의 구문은 다음과 같습니다. stringurldecode(string$str) 여기서 $str은 디코딩할 URL 문자열입니다. urldecode() 함수는 문자열의 %xx를 해당 문자 xx로 대체합니다.

Urlencode 기능을 사용하는 방법 Urlencode 기능을 사용하는 방법 Nov 15, 2023 am 11:45 AM

사용법: 1. 사전을 인코딩하는 데 사용됩니다. 2. 목록을 인코딩하는 데 사용됩니다. 3. 중첩된 목록을 인코딩하는 데 사용됩니다.

Python 2.x에서 urllib.urlencode() 함수를 사용하여 매개변수를 인코딩하는 방법 Python 2.x에서 urllib.urlencode() 함수를 사용하여 매개변수를 인코딩하는 방법 Jul 29, 2023 pm 12:57 PM

urllib.urlencode() 함수를 사용하여 Python2.x에서 매개변수를 인코딩하는 방법 프로그래밍 프로세스 중에 서버와 상호작용하고 매개변수를 전달해야 하는 경우가 많습니다. 매개변수를 전달하는 과정에서 데이터의 올바른 전송과 구문 분석을 보장하기 위해 매개변수를 올바르게 인코딩해야 합니다. Python은 urlencode() 함수가 매개변수를 인코딩하는 데 사용되는 도구인 urllib 라이브러리를 제공합니다. Python2.x를 살펴보겠습니다.

urlencode 함수를 사용하여 PHP에서 특수 문자를 인코딩하는 방법 urlencode 함수를 사용하여 PHP에서 특수 문자를 인코딩하는 방법 Jun 26, 2023 pm 04:09 PM

PHP에서는 매개변수를 올바르게 전달하기 위해 URL에 특수 문자를 인코딩해야 하는 경우가 많습니다. 이때 urlencode 기능을 사용할 수 있습니다. urlencode 함수의 기능은 URL에 전달될 수 있도록 문자열의 특수 문자를 인코딩하는 것입니다. 이러한 특수 문자에는 영숫자 문자, 구두점, 프로토콜 문자, 일부 예약 문자 등이 포함됩니다. 다음은 urlencode 함수의 기본 구문입니다: urlencode(string$str):str

See all articles