search
HomeBackend DevelopmentPHP TutorialJS和PHP中URL编码转换:escape()、encodeURI()、encodeURIComponent()

 

JS和PHP中URL编码转换:escape()、encodeURI()、encodeURIComponent()

escape() 方法:

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

encodeURI() 方法:

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

encodeURIComponent() 方法:

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

encodeURIComponent() 函数 与 encodeURI() 函数的区别之处:

前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串),因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。

总结:

通过对三个函数的分析,我们可以知道:escape()除了 ASCII 字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。

而encodeURI() 用于编码整个URI,因为URI中的合法字符都不会被编码转换。encodeURIComponent方法在编码单个URIComponent(指请求参数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。

 

Here you can see how the various JavaScript and PHP functions apply to a range of common characters:

Input JavaScript PHP
  escape encodeURI encodeURIComponent urlencode rawurlencode htmlentities
%20 %20 %20 + %20  
! %21 ! ! %21 %21 !
@ @ @ %40 %40 %40 @
# %23 # %23 %23 %23 #
$ %24 $ %24 %24 %24 $
% %25 %25 %25 %25 %25 %
^ %5E %5E %5E %5E %5E ^
& %26 & %26 %26 %26 &
* * * * %2A %2A *
( %28 ( ( %28 %28 (
) %29 ) ) %29 %29 )
- - - - - - -
_ _ _ _ _ _ _
= %3D = %3D %3D %3D =
+ + + %2B %2B %2B +
: %3A : %3A %3A %3A :
; %3B ; %3B %3B %3B; ;
. . . . . . .
" %22 %22 %22 %22 %22 "
' %27 ' ' %27 %27 '
\ %5C %5C %5C %5C %5C \
/ / / %2F %2F %2F /
? %3F ? %3F %3F %3F ?
%3C %3C %3C %3C %3C <
> %3E %3E %3E %3E %3E >
~ %7E ~ ~ %7E %7E ~
[ %5B %5B %5B %5B %5B [
] %5D %5D %5D %5D %5D ]
{ %7B %7B %7B %7B %7B {
} %7D %7D %7D %7D %7D }
  %60 %60 %60 %60 %60  

 


Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
前端开发者需了解的PHP相关知识前端开发者需了解的PHP相关知识Mar 29, 2024 pm 03:09 PM

作为前端开发者,对于PHP的了解是非常有必要的。虽然PHP是一种后端开发语言,但是掌握一定的PHP知识可以帮助前端开发者更好地理解整个web开发的过程,提高工作效率并与后端开发者更好地协作。在这篇文章中,我们将讨论前端开发者需要了解的一些PHP相关知识,并提供具体的代码示例。PHP是什么?PHP(HypertextPreprocessor)是一种服务器

PHP中的新手入门指南PHP中的新手入门指南May 25, 2023 am 08:03 AM

PHP是一门热门的前端编程语言,它功能强大、易学易用,被广泛用于网站的开发和维护中。对于初学者来说,PHP入门需要一定的学习和掌握,下面就为大家提供一些PHP中的新手入门指南。一、学习基本概念在学习PHP之前,你需要了解一些基本概念。PHP是一种向Web服务器发出指令的脚本语言。简单来说,你可以使用PHP来生成HTML代码并将其发送给浏览器,最终呈现在网页上

PHP笔试基础薄弱?试试这些学习方法!PHP笔试基础薄弱?试试这些学习方法!Mar 01, 2024 pm 01:39 PM

PHP作为一种广泛应用于Web开发的脚本语言,已经成为许多互联网公司招聘技术人才时的必备技能之一。然而,对于一些刚入门或者基础薄弱的学习者来说,学习PHP可能会遇到一些困难。在面对PHP笔试时,怎样才能更好地提升自己的基础功力呢?接下来,我们将介绍一些学习方法,希望能够帮助大家提升PHP的基础知识和技能。1.养成阅读PHP官方文档的习惯PHP官方文档是学习

初学者必备:PHP基础错误及解决方法初学者必备:PHP基础错误及解决方法May 11, 2023 am 08:28 AM

在学习PHP的过程中,初学者会经常遇到各种各样的错误。虽然这是学习的自然过程,但不少初学者往往因为对错误的处理不当而丧失耐心。本文将介绍PHP基础错误及解决方法,旨在帮助初学者更轻松地入门PHP。一、语法错误1.1遗漏分号在PHP中,语句必须以分号结尾。如果不小心遗漏了分号,就会报错。例如,下面的代码会导致错误:&lt;?phpecho&quot;He

PHP基础教程之数组函数PHP基础教程之数组函数Jun 20, 2023 pm 01:39 PM

数组函数是PHP中最常用的函数之一,它可以用于数组的创建、操作和管理。在开发应用程序时,使用数组函数可以大大提高开发的效率。本文将介绍PHP中数组函数的一些基本用法和例子,帮助大家更好地理解和掌握数组函数。一、数组的创建和初始化PHP中的数组可以通过以下方式创建://通过array()函数创建数组$arr=array(&quot;a&quot;,&q

PHP值概览:了解PHP的重要概念PHP值概览:了解PHP的重要概念Mar 22, 2024 pm 03:09 PM

PHP值概览:了解PHP的重要概念,需要具体代码示例PHP(HypertextPreprocessor)是一种广泛应用于Web开发的脚本语言,它可以嵌入HTML中,也可以作为独立的脚本来执行。在Web开发中,了解PHP的一些重要概念对于编写高效、可维护的代码非常重要。在本文中,我们将介绍PHP的一些重要概念,并提供具体的代码示例来帮助读者更好地理解。变量变

阅读PHP文档的10个技巧阅读PHP文档的10个技巧May 24, 2023 pm 09:21 PM

PHP是一种非常流行的开源服务器端脚本语言,广泛应用于Web开发中。要成为一名优秀的PHP程序员,阅读官方文档是必不可少的。无论你是初学者还是资深开发者,下面这些技巧都将有助于你更有效地阅读PHP文档。了解文档结构PHP官方文档分为多个部分,包括手册、参考手册、FAQ、扩展库文档等。在开始阅读之前,先了解文档的结构,找到自己需要的部分。使用搜索功能PHP文档

织梦建站必备:掌握PHP的几个关键知识点织梦建站必备:掌握PHP的几个关键知识点Mar 27, 2024 pm 03:09 PM

在当今信息爆炸的互联网时代,网站已经成为各行各业展示和推广的重要途径,而PHP作为最为流行的服务器端脚本语言,无疑是众多网站开发者必备的技能之一。要想达到熟练掌握PHP,首先需要掌握几个关键的知识点,并通过具体的代码示例来加深理解。1.PHP基础语法PHP的基础语法与大多数编程语言相似,包括变量、数据类型、运算符、条件语句、循环语句等。以下是一个简单的示例

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor