跳至主要内容
短.be

Base62 编码

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

2026 年 11 月 3 日 / 约 1 分钟阅读

短链接

Base62 编码是使用小写字母 26 个 (a-z) + 大写字母 26 个 (A-Z) + 数字 10 个 (0-9),共计 62 个字符来表示数据的编码方式。它用于生成短链接的短码。

为什么 Base62 适合短链接?用数字来说明。6 位 Base62 编码可以表示的模式数为 62 的 6 次方,约 568 亿种。7 位则约 3.5 万亿种。

短链接服务的一种实现方式是为每个 URL 分配一个唯一的整数 ID,然后将该 ID 转换为 Base62 来生成短码。例如,字符顺序为 0-9、a-z、A-Z 时,ID = 12345 转换为 Base62 后变为「3d7」(3 个字符)。ID 越大,编码越长,但在约 568 亿条记录以内都可以控制在 6 个字符以内。

与 Base62 类似的方式有 Base64,但 Base64 包含「+」和「/」,在 URL 中使用时可能出现问题。Base62 使用的字母数字属于 RFC 3986 中可在 URL 里直接使用的非保留字符 (unreserved),因此无需额外的编码处理。

Base62 的实现是将十进制数转换为六十二进制数。在大多数编程语言中只需几行代码就能实现。但需要注意的是,如果直接将连续 ID 转换为 Base62,短码会变得可预测,存在安全隐患。作为对策,可以结合哈希函数使用,或生成随机字符串。

这篇文章对您有帮助吗?

相关术语

短链接

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

URL 编码

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

百分号编码

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

自定义别名

用户自行定义的短代码,替代短链接中自动生成的标识符。

Slug

Slug 是 URL 中用于标识页面的人类可读字符串。通常由小写字母、数字和连字符组成,用于替代自动生成的 ID,提升 URL 的可读性和 SEO 效果。

QR 码编码

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

相关文章

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

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

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

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

缩短 GitHub 的长 URL 提升开发工作流效率

详解如何用短链接管理 GitHub 中容易变长的 Issue、Pull Request、blob 路径等 URL。涵盖 README 中的应用、CI/CD 通知链接优化、文档站点的短链接导航、git.io 停用后的替代方案,以及开源项目中的实践案例。

常见问题

Base62 和 Base64 有什么区别?
Base64 使用 64 个字符 (字母数字 +「+」「/」),但「+」和「/」是 URL 中的保留字符,直接使用时可能出现问题。Base62 仅使用字母数字,可以直接用于 URL。
Base62 短码一般是几位?
因服务而异。6 位可表示约 568 亿种模式,7 位可表示约 3.5 万亿种模式,因此按所需的链接数量来决定位数。
短码被预测的风险存在吗?
如果直接将连续 ID 转换为 Base62,下一个编码就会变得可预测。对策包括通过哈希函数转换、或直接生成随机字符串等方法。

把知识用到真实链接上

免费缩短网址