跳至主要内容
短.be

Base62 编码

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

2025年11月7日 · 约 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 来生成短码。例如,ID = 12345 转换为 Base62 后变为「3d7」(3 个字符)。ID 越大,编码越长,但在数百亿条记录以内都可以控制在 6 个字符以内。

与 Base62 类似的方式有 Base64,但 Base64 包含「+」和「/」,在 URL 中使用时需要进行编码处理。Base62 仅由 URL 安全的字符组成,因此无需额外的编码处理。这就是短链接中偏好使用 Base62 的原因。

Base62 的实现非常简单,只需将十进制数转换为六十二进制数即可。在大多数编程语言中只需几行代码就能实现。但需要注意的是,如果直接将连续 ID 转换为 Base62,短码会变得可预测,存在安全隐患。作为对策,可以在 ID 上添加随机偏移量,或结合哈希函数使用。相关书籍可在 Amazon 上查找。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

Base62 和 Base64 有什么区别?
Base64 使用 64 个字符 (字母数字 +「+」「/」),但「+」和「/」在 URL 中有特殊含义,需要进行百分号编码。Base62 仅使用字母数字,可以直接用于 URL,最适合短链接。
Base62 短码一般是几位?
通常为 6 至 7 位。6 位可表示约 568 亿种模式,7 位可表示约 3.5 万亿种模式,即使是大规模服务也有足够的容量。
短码被预测的风险存在吗?
如果直接将连续 ID 转换为 Base62,下一个编码确实可以被预测。对策包括在 ID 上添加随机种子、通过哈希函数转换、或直接生成随机字符串等方法。

想要创建短链接吗?

免费缩短网址