php urlencode和rawurlencode的区别介绍
在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 '';
$query_string = 'foo=' . urlencode($foo) . '&bar=' . urlencode($bar); |
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解码后获得的字符串会和原字符串不同。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Original title: Bittensor=AIBitcoin? Original author: S4mmyEth, Decentralized AI Research Original translation: zhouzhou, BlockBeats Editor's note: This article discusses Bittensor, a decentralized AI platform, hoping to break the monopoly of centralized AI companies through blockchain technology and promote an open and collaborative AI ecosystem. Bittensor adopts a subnet model that allows the emergence of different AI solutions and inspires innovation through TAO tokens. Although the AI market is mature, Bittensor faces competitive risks and may be subject to other open source

The Bitcoin investment boom continues to heat up. As the world's first decentralized digital asset, Bitcoin has attracted much attention on its decentralization and global liquidity. Although China was once the largest market for Bitcoin, policy impacts have led to transaction restrictions. Today, South Korea has become one of the major Bitcoin markets in the world, causing investors to question the differences between it and its domestic Bitcoin. This article will conduct in-depth analysis of the differences between the Bitcoin markets of the two countries. Analysis of the differences between South Korea and China Bitcoin markets. The main differences between South Korea and China’s Bitcoin markets are reflected in prices, market supply and demand, exchange rates, regulatory supervision, market liquidity and trading platforms. Price difference: South Korea’s Bitcoin price is usually higher than China, and this phenomenon is called “Kimchi Premium.” For example, in late October 2024, the price of Bitcoin in South Korea was once

Artificial intelligence agents (AIAgents) are rapidly integrating into daily operations of enterprises, from large companies to small businesses, almost all areas have begun to be used, including sales, marketing, finance, law, IT, project management, logistics, customer service and workflow automation. We are moving from an era of manual processing of data, performing repetitive tasks, and using Excel tables to an era of autonomous operation by AI agents around the clock, which not only improves efficiency but also significantly reduces costs. Application case of AI agents in Web2: YCombinator's Perspective Apten: A sales and marketing optimization tool combining AI and SMS technology. BildAI: A model that can read architectural blueprints,

Nexo: Not only is it a cryptocurrency exchange, but also your digital financial manager. Nexo is not a traditional cryptocurrency exchange, but a financial platform that focuses more on cryptocurrency lending. It allows users to obtain loans in cryptocurrency as collateral and provides services to earn interest. While Nexo also offers cryptocurrency buying, selling and redemption capabilities, its core business is crypto lending. This article will explore the operating model and security of Nexo in depth to provide investors with a more comprehensive understanding. Nexo's operating model was founded in 2018 and is headquartered in Zug, Switzerland, and is a pioneer in the field of digital finance. It is different from other centralized exchanges and focuses more on providing comprehensive financial services. Users can buy, sell, trade cryptocurrencies without selling assets and

The difference between Ethereum and Bitcoin is significant. Technically, Bitcoin uses PoW, and Ether has shifted from PoW to PoS. Trading speed is slow for Bitcoin and Ethereum is fast. In application scenarios, Bitcoin focuses on payment storage, while Ether supports smart contracts and DApps. In terms of issuance, the total amount of Bitcoin is 21 million, and there is no fixed total amount of Ether coins. Each security challenge is available. In terms of market value, Bitcoin ranks first, and the price fluctuations of both are large, but due to different characteristics, the price trend of Ethereum is unique.

Detailed explanation of closing positions in virtual currency trading: Strategies to avoid the risk of liquidation. This article will deeply explore the concept of "closing positions" in the virtual currency market, and clarify the difference between it and "sell", and how to effectively avoid the risk of forced liquidation (filtering positions). What is virtual currency closing? Close positions refers to investors ending existing positions through reverse trading, thereby locking in profits and losses. For example, investors holding long positions (buy) can close their positions by selling equal amounts of virtual currency; investors holding short positions (sell) need to buy equal amounts of virtual currency to close their positions. A closing operation is essentially closing or releasing an established investment position. Is closing a position equal to selling? Although long closing does involve selling operations, closing and selling are not exactly the same. Close position definition: End opened

Coin Standard and U-Material Perpetual Contract: Conversion and risk analysis of leverage multiples. The pricing methods of perpetual contracts are mainly divided into two types: coin Standard and U-Material. The currency standard contract is settled in the transaction cryptocurrency (such as BTC, ETH), with the goal of obtaining more of the cryptocurrency; the U standard contract is settled in the stablecoin (such as USDT), with the goal of earning more stablecoins, similar to the traditional gold standard system. Many investors are curious: How many times the leverage at the currency standard is equivalent to the U standard? To put it simply, the conversion between the 2x leverage of the currency standard and the leverage of the U standard is roughly equivalent to the 2x leverage of the U standard. However, this equivalence relationship is not absolute, as currency price fluctuations significantly affect the actual leverage effect. The risk of currency standard leverage will fluctuate with the currency price

Bitcoin: Digital gold or stock trading derivatives? In-depth analysis of the nature of its investment. Bitcoin, as an emerging investment method, has drastically fluctuated prices and has similarities with the stock market trading rules, which has triggered people's questions about its investment nature: Is Bitcoin speculation equivalent to stock speculation? This article will discuss in-depth from the aspects of definition, nature, issuance mechanism, etc., and unveil the mystery of Bitcoin investment. Bitcoin and Stocks: The essential difference between Bitcoin and Stocks is: Investing in Bitcoin is not the same as investing in stocks. Bitcoin is a decentralized digital currency that belongs to the category of digital assets or virtual assets. Its transactions are completely controlled by users and adopts a point-to-point (P2P) transmission model to form a decentralized payment system. This concept was proposed by Satoshi Nakamoto in 2009. Unlike traditional currencies,
