Maison php教程 php手册 php urlencode和rawurlencode的区别介绍

php urlencode和rawurlencode的区别介绍

Jun 13, 2016 am 10:16 AM
php urlencode et 介绍 区别 et exister de

在php中rawurlencode与rawurlencode都是对字符进行编码的,下面我来给大家介绍urlencode和rawurlencode的区别,有需要了解的朋友可参考。

urlencode的用途就是编码字符串,把原字符串中所有除”-_”以为的非所有字母数字字符替换成百分号(%)后跟两位十六进制数,但是需要注意:由于历史原因会把空格替换+号。rawurlencode其实和urlencode一样,也是用来编码字符串的,唯一的不同是它是使用RFC1738 编码,也就是会把空格替换成%20。

它们对应的解码函数是urldecode和rawurldecode。参考官方网站的说明,urldecode解码给出的已编码字符串中的任何%##,加号(’+')被解码成一个空格字符;rawurldecode解码字符字符串中百分号(%)后跟两位十六进制。有两点区别,一是urldecode解码是对百分号(%)后任意两位字符都去会进行解码,例如%MN也会解码,但是会失败;rawurldecode则只会对百分号(%)后两位是十六进制(0-9A-F)的字符才会解码,二是urldecode会把+号解码为空格。

我们再看来两个函数在php官方的介绍吧。

urlencode — 编码 URL 字符串

Report a bug 说明
string urlencode ( string $str )
此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页。

Report a bug 参数

str
要编码的字符串。

Report a bug 返回值
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。

 代码如下 复制代码

Example #1 urlencode() 例子

echo '';
?>


Example #2 urlencode() 与 htmlentities() 例子

$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar);
echo '';
?>

rawurlencode — 按照 RFC 1738 对 URL 进行编码

Report a bug 说明
string rawurlencode ( string $str )
根据 » RFC 3986 编码指定的字符。

Report a bug 参数

str
要编码的 URL。


Report a bug 返回值
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 » RFC 3986 中描述的编码,是为了保护原义字符以免其被解释为特殊的 URL 定界符,同时保护 URL 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱。

 代码如下 复制代码

Example #1 在 FTP URL 里包含一个密码

echo '';
?>
以上例程会输出:

通过上面对解码函数的描述,可以推论,使用urlencode或rawurlencode编码的都可以使用urldecode进行解码,但是如果原字符串中含有空格,使用urlencode编码后的字符串使用rawurlencode解码后获得的字符串会和原字符串不同。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La différence entre l'éther et le bitcoin quelle est la différence entre l'éther et le bitcoin La différence entre l'éther et le bitcoin quelle est la différence entre l'éther et le bitcoin Mar 19, 2025 pm 04:54 PM

La différence entre Ethereum et Bitcoin est significative. Techniquement, Bitcoin utilise POW et Ether est passé de Pow à Pos. La vitesse de trading est lente pour le bitcoin et Ethereum est rapide. Dans les scénarios d'application, Bitcoin se concentre sur le stockage des paiements, tandis que Ether prend en charge les contrats intelligents et les DAPP. En termes d'émission, le montant total du bitcoin est de 21 millions et il n'y a pas de montant total fixe de pièces d'éther. Chaque défi de sécurité est disponible. En termes de valeur marchande, le bitcoin se classe en premier et les fluctuations des prix des deux sont importantes, mais en raison de caractéristiques différentes, la tendance des prix d'Ethereum est unique.

Expliquez la liaison statique tardive en PHP (statique: :). Expliquez la liaison statique tardive en PHP (statique: :). Apr 03, 2025 am 12:04 AM

Liaison statique (statique: :) ​​implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Introduction détaillée à l'heure d'ouverture et de clôture d'Ouyi Okex Introduction détaillée à l'heure d'ouverture et de clôture d'Ouyi Okex Mar 18, 2025 pm 01:06 PM

La plate-forme de trading d'actifs numériques OUYI OKEX est différente du marché traditionnel des valeurs mobilières. Cependant, la plate-forme annoncera à l'avance et ajustera temporairement les délais de négociation ou les règles en cas de mises à niveau de maintenance du système ou d'événements spéciaux sur le marché (tels que des conditions de marché extrêmes provoquant de graves fluctuations du marché), telles que la suspension de négociation ou de modification des règles d'ouverture de la position de trading de contrats. Par conséquent, il est recommandé que les utilisateurs accordent une attention particulière aux annonces de plate-forme et aux tendances du marché, saisissent les opportunités de négociation et font du bon travail dans la gestion des risques. Ce n'est qu'en comprenant que l'heure de négociation et les ajustements de règle d'Okex que vous pouvez être à l'aise sur le marché des montures numériques.

La différence entre le pain aux haricots et la profondeur La différence entre le pain aux haricots et la profondeur Mar 12, 2025 pm 01:57 PM

La principale différence entre Doubao et Deepseek est: 1. Doubao est un moteur de recherche de mots clés qui s'appuie sur la correspondance des mots clés; 2. La source des données de sacs de haricots est large mais la qualité est inégale. 3. Les résultats de BEAN BUN sont présentés sous forme de liste, et Deepseek peut fournir des réponses plus riches et des informations de contexte. 4. Les petits pains à bean sont faciles à utiliser et Deepseek peut nécessiter des instructions de requête plus complexes. Par conséquent, le pain aux haricots convient rapidement pour trouver rapidement des informations, tandis que Deepseek convient à la recherche sémantique approfondie et à l'exploration d'informations, et le choix dépend des besoins spécifiques.

Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Expliquez les jetons Web JSON (JWT) et leur cas d'utilisation dans les API PHP. Apr 05, 2025 am 12:04 AM

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Quelle est la fonction de la somme du langage C? Quelle est la fonction de la somme du langage C? Apr 03, 2025 pm 02:21 PM

Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

Combien de bitcoins y a-t-il Combien de bitcoins y a-t-il Mar 17, 2025 pm 04:54 PM

Le montant total de Bitcoin est constant à 21 millions, et ce fait défini par le code Satoshi Nakamoto donne à Bitcoin un attribut de valeur unique. Contrairement aux monnaies fiduciaires illimitées, la rareté du bitcoin lui donne un potentiel anti-inflation et est similaire à des métaux précieux tels que l'or. Son mécanisme d'émission est progressivement libéré par "l'exploitation minière" et la récompense est divisée en deux tous les quatre ans, et elle devrait atteindre la limite supérieure totale d'environ 2140. Bien que le volume de circulation réel soit inférieur au volume total, la limite de volume totale de 21 millions de pièces est la prise en charge de la valeur fondamentale de Bitcoin, et il en fait également un actif numérique hautement regardé. Comprendre la limite du montant total de Bitcoin est crucial pour que les investisseurs prennent des décisions rationnelles.

Quel est le meilleur PHP ou Laravel? Quel est le meilleur PHP ou Laravel? Mar 27, 2025 pm 05:31 PM

PHP et Laravel ne sont pas directement comparables, car Laravel est un cadre basé sur PHP. 1.Php convient aux petits projets ou à un prototypage rapide car il est simple et direct. 2. Laravel convient à de grands projets ou à un développement efficace car il offre des fonctions et des outils riches, mais a une courbe d'apprentissage abrupte et peut ne pas être aussi bon que PHP pur.

See all articles