Heim Backend-Entwicklung PHP-Tutorial 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()说明
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHPs urldecode()-Funktion: So dekodieren Sie eine URL-kodierte Zeichenfolge in eine Rohzeichenfolge und behandeln Dekodierungsfehler PHPs urldecode()-Funktion: So dekodieren Sie eine URL-kodierte Zeichenfolge in eine Rohzeichenfolge und behandeln Dekodierungsfehler Nov 03, 2023 pm 03:17 PM

Die Funktion urldecode() von PHP wurde in PHP4 erstellt und ist eine gängige Methode zur URL-Dekodierung. Bei der URL-Kodierung handelt es sich um eine Methode zur Umwandlung nicht-englischer Zeichen in einer URL in Sonderzeichen, um die URL an den Server zu übertragen oder die URL anderweitig zu verarbeiten. Die Funktion urldecode() stellt diese Sonderzeichen in der ursprünglichen Zeichenfolge wieder her. Die Syntax dieser Funktion lautet: stringurldecode(string$str) Parameter str stellt das Zeichen dar, das dekodiert werden muss

PHPs urlencode()-Funktion: So kodieren Sie einen String in ein URL-sicheres Format PHPs urlencode()-Funktion: So kodieren Sie einen String in ein URL-sicheres Format Nov 03, 2023 pm 12:39 PM

PHPs urlencode()-Funktion: So kodieren Sie eine Zeichenfolge in ein URL-sicheres Format. Mit der Entwicklung des Internets werden URLs im täglichen Leben häufig verwendet, und wir müssen häufig Zeichenfolgen mit einigen Sonderzeichen kodieren URL-sichere Formate. Format zur Übergabe von Parametern in der URL oder zum Anfordern einer Webseite. PHP stellt die Funktion urlencode() zur Verfügung, um diese Aufgabe zu erfüllen. In diesem Artikel wird die Verwendung der Funktion urlencode() vorgestellt und einige spezifische Codebeispiele gegeben. 1. ur

So verwenden Sie die URL-Funktion zum Codieren von URLs in PHP So verwenden Sie die URL-Funktion zum Codieren von URLs in PHP Jun 26, 2023 pm 12:48 PM

In der modernen Entwicklung ist die Weitergabe von Daten über URLs eine gängige Methode. Da die URL jedoch einige Sonderzeichen wie Leerzeichen, Schrägstriche und Fragezeichen enthalten kann, zerstören diese Sonderzeichen die Struktur der URL und führen dazu, dass die Datenübertragung fehlschlägt. Um diese Situation zu vermeiden, stellt PHP die Funktion urlencode zur Verfügung, die die URL in ein transportables Format kodieren kann. Die Verwendung der URL-Funktion ist sehr einfach. Ihre Syntax lautet wie folgt: stringurlencode(string

Die Funktion urldecode() in PHP wird zum Dekodieren von URLs verwendet Die Funktion urldecode() in PHP wird zum Dekodieren von URLs verwendet Nov 18, 2023 am 10:07 AM

Die Funktion urldecode() in PHP wird verwendet, um die URL zu dekodieren und die maskierten Zeichen auf die ursprünglichen Zeichen zurückzusetzen. Bei der Verarbeitung von Parametern in der URL müssen Sie häufig die Funktion urldecode() verwenden. Die Syntax der Funktion urldecode() lautet wie folgt: stringurldecode(string$str) wobei $str die zu dekodierende URL-Zeichenfolge ist. Die Funktion urldecode() ersetzt %xx in der Zeichenfolge durch die entsprechenden Zeichen, xx

Einführung in PHP-Funktionen – urlencode(): URLs kodieren Einführung in PHP-Funktionen – urlencode(): URLs kodieren Jul 25, 2023 pm 09:25 PM

Einführung in PHP-Funktionen – urlencode(): URLs kodieren Bei der Entwicklung von Webanwendungen kommt es häufig vor, dass URLs kodiert werden müssen. Die URL-Kodierung stellt sicher, dass Sonderzeichen in URLs korrekt übergeben werden, wodurch Probleme oder falsche Ergebnisse vermieden werden. In PHP können wir die Funktion urlencode() verwenden, um eine URL-Kodierung durchzuführen. Die Funktion der Funktion urlencode() besteht darin, die Zeichenfolge in ein Codierungsformat zu konvertieren, das der URL-Spezifikation entspricht. Es konvertiert nicht-alphanumerische Zeichen in einer Zeichenfolge in

So verwenden Sie die URL-Code-Funktion So verwenden Sie die URL-Code-Funktion Nov 15, 2023 am 11:45 AM

Verwendung: 1. Wird zum Kodieren von Wörterbüchern verwendet. 3. Wird zum Kodieren von verschachtelten Listen verwendet. 4. Zum Angeben von Trennzeichen usw.

So verwenden Sie die Funktion urllib.urlencode() zum Codieren von Parametern in Python 2.x So verwenden Sie die Funktion urllib.urlencode() zum Codieren von Parametern in Python 2.x Jul 29, 2023 pm 12:57 PM

So verwenden Sie die Funktion urllib.urlencode() zum Codieren von Parametern in Python2.x. Während des Programmiervorgangs müssen wir häufig mit dem Server interagieren und Parameter übergeben. Bei der Übergabe von Parametern müssen wir die Parameter ordnungsgemäß kodieren, um die korrekte Übertragung und Analyse der Daten sicherzustellen. Python stellt die Bibliothek urllib bereit, in der die Funktion urlencode() ein Werkzeug zum Kodieren von Parametern ist. Werfen wir einen Blick auf Python2.x

So verwenden Sie die URL-Funktion zum Codieren von Sonderzeichen in PHP So verwenden Sie die URL-Funktion zum Codieren von Sonderzeichen in PHP Jun 26, 2023 pm 04:09 PM

In PHP müssen wir häufig Sonderzeichen in der URL kodieren, um Parameter korrekt zu übergeben. Zu diesem Zeitpunkt können Sie die URL-Code-Funktion verwenden. Die Funktion der URL-Code-Funktion besteht darin, Sonderzeichen in der Zeichenfolge zu kodieren, damit sie in der URL übergeben werden können. Zu diesen Sonderzeichen gehören: alphanumerische Zeichen, Satzzeichen, Protokollzeichen, einige reservierte Zeichen usw. Das Folgende ist die grundlegende Syntax der URL-Funktion: urlencode(string$str):str

See all articles