URL 编码解码 打开工具

中文 URL 编码对照:%E4%B8%AD 为什么是「中」

「中」的 Unicode 码点是 U+4E2D,UTF-8 编码是三个字节 E4 B8 AD,写进 URL 就是 %E4%B8%AD。所以一个汉字在 URL 里固定占 9 个字符(3 组 %XX),这是 URL 变长的根本原因。

常用字对照

「中文」连起来就是 %E4%B8%AD%E6%96%87。注意没有分隔符,解析时按 % 逐个读,读满 3 个字节再合并成一个字符。

怎么区分 UTF-8 与 GBK

看 %XX 的个数:

比如「中文」在 GBK 下是 %D6%D0%CE%C4,只有 4 个 %XX。混用两种编码的链接,用 UTF-8 解会得到乱码(典型表现是一串 锟斤拷 或问号)。

Emoji 占几个字节

常用 Emoji(如 😀 U+1F600)在 UTF-8 下是 4 个字节,即 4 个 %XX。所以 Emoji 比汉字更占 URL 长度,一个表情就吃掉 12 个字符。

组合型 Emoji(带肤色、带 ZWJ 的家庭表情)可能由多个码点组成,长度能到二十多个 %XX。这类内容不适合放进 URL。

什么时候干脆用拼音或英文

中文 URL 编码后长度膨胀 9 倍,且对用户不可读。做 SEO 友好的链接时,通常用拼音或英文 slug(/guide/chinese-url-encode/ 这种),把中文放在页面标题里而不是路径里。

只有在必须原样传递中文参数(如搜索词、文件名下载)时才编码到 URL。此时要注意各层代理、CDN、日志系统对超长 URL 的截断——常见上限是 2KB 到 8KB。

上面这些都不用装软件,也不用注册:打开页面就能用。

打开 URL 编码解码 →

常见问题

为什么解码出来是乱码?

编码与解码用的字符集不一致。用 UTF-8 解 GBK 编码的 %XX 就会乱码。先看 %XX 的个数判断原编码(3 个一组是 UTF-8,2 个一组是 GBK),再用对应字符集解。

URL 里能不能直接写中文?

现代浏览器会自动把地址栏里的中文转成 %XX 再发出去,看起来能用。但复制到别处、经过某些代理或日志系统时就可能出问题。跨系统传递时一律显式编码。

全角标点要编码吗?

要。全角的「,」「。」「:」都不在 URL 允许的字符集里,必须按 UTF-8 编码。它们与半角符号是不同的码点,编码结果也不同。