sou*_*wal 7 php google-chrome url-encoding
有谁知道谷歌浏览器使用什么编码来编码 URL?
当我们尝试从 Google 的搜索框 (Omnibox) 复制 URL 时,就会发生编码。
我粘贴了以下网址:
www.bing.com/search?q=???&go=&qs=n&form=QBLH&filt=all&pq=???&sc=0-0&sp=-1&sk=
Run Code Online (Sandbox Code Playgroud)
进入谷歌搜索,然后从搜索框中复制相同的 URL,它变成了这样:
http://www.bing.com/search?q=%EC%9D%B4%EC%9C%A4%ED%9D%AC&go=&qs=n&form=QBLH&filt=all&pq=%EC%9D%B4%EC%9C%A4%ED%9D%AC&sc=0-0&sp=-1&sk=
Run Code Online (Sandbox Code Playgroud)
我想知道他们使用的是什么编码。
这是标准的百分比 URL 编码,在这种情况下是 UTF-8 编码的文本。URL不能包含非 ASCII 字符(实际上是其子集,URL 不同部分的不同子集)。你实际上不能有“???” 在一个网址中。要嵌入任意字符,您可以对它们进行百分比编码。这仅需要一个字节并将其十六进制值编码为%xx. “???”的 UTF-8 字节表示 is EC 9D B4 EC 9C A4 ED 9D AC,这正是您在 URL 中看到的内容。
URL 总是这样,它不是 Chrome 在你复制时这样做。相反,如果 URL 显示为www.bing.com/search?q=???&...,那就是 Chrome 很好并且显示为您解码的 URL。
请参阅每个 Web 开发人员必须了解的有关 URL 编码的内容。
在 PHP 中,这可以复制rawurlencode:
echo rawurlencode('???'); // (assuming UTF-8 encoded source code)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7891 次 |
| 最近记录: |