跳至主要内容
短.be

百分号编码

URL 编码的正式名称,使用百分号加十六进制数表示特殊字符的编码方式。

2026 年 8 月 12 日 / 约 1 分钟阅读

短链接

百分号编码是 URL 编码的正式技术名称,定义在 RFC 3986 中。它使用 "%" 符号后跟两位十六进制数来表示一个字节的值。例如,"%20" 表示空格 (ASCII 值 32,十六进制 20),"%2F" 表示正斜杠 "/"。

百分号编码的工作原理是将字符的 UTF-8 字节序列中的每个字节转换为 "%XX" 格式。对于 ASCII 字符,这是单字节转换;对于多字节的 Unicode 字符 (如中文),每个字节都会被单独编码。例如,汉字 "中" 的 UTF-8 编码为 3 个字节 (E4 B8 AD),百分号编码后为 "%E4%B8%AD"。

RFC 3986 将 URL 中的字符分为三类:未保留字符 (字母、数字、-、_、.、~) 可以直接使用;保留字符 (:、/、?、#、[、]、@、!、$、&、'、(、)、*、+、,、;、=) 在特定上下文中有特殊含义;其他所有字符必须进行百分号编码。

在 URL 缩短服务的开发中,正确处理百分号编码至关重要。服务需要能够接受包含已编码字符的 URL、避免双重编码、在数据库中以规范化形式存储 URL、并在重定向响应中正确输出编码后的 URL。

另一个常见的事故是双重编码,即对已经编码过的字符串再编码一次,结果 %20 变成了 %2520,链接随之失效。在接收用户提交的 URL 时,需要先判断字符串是否已经编码,以避免重复处理。

这篇文章对您有帮助吗?

相关术语

URL 编码

将 URL 中的特殊字符和非 ASCII 字符转换为百分号编码格式的过程。

短链接

将长网址压缩为简短形式的链接,点击后自动跳转到原始目标页面。便于分享和追踪。

SEO 友好网址

经过优化设计的网址结构,包含有意义的关键词,有助于提升搜索引擎排名。

Base62 编码

使用 62 个字母数字字符 (a-z, A-Z, 0-9) 来表示数据的编码方式。广泛用于短链接的短码生成。

QR 码编码

将数据转换为 QR 码图案的过程,支持数字、字母数字、字节和汉字四种编码模式。

内容协商

客户端与服务器通过 HTTP 头部协商最优内容格式 (语言、数据格式、编码方式) 的机制。

相关文章

图解网址缩短原理 - 重定向的技术背景

结合 HTTP 响应示例和 Base62 编码计算实例,详细解说网址缩短服务实现重定向的技术原理。

网址缩短 API 使用指南 - 通过程序生成短链接

解说如何通过程序使用网址缩短服务的 API。介绍请求格式、响应结构和实现示例。

短链接无障碍设计指南 - 屏幕阅读器适配、链接文本与 WCAG 合规

解说短链接对视觉障碍者、老年人、认知障碍用户的影响。介绍屏幕阅读器的 URL 朗读问题、符合 WCAG 标准的链接文本设计方法。

常见问题

哪些字符需要百分号编码?
非 ASCII 字符(如中文)、保留字符(?、&、=、#、/ 等)和空格需要编码。英文字母、数字、连字符、下划线、句点和波浪号可以直接使用。
百分号编码和 Base64 编码有什么区别?
百分号编码用于在 URL 中安全地表示特殊字符,Base64 用于将二进制数据转换为文本。两者用途不同。

把知识用到真实链接上

免费缩短网址