Base62 编码是一种将 10 进制整数转换为 62 进制字符的算法。它通过使用数字、大小写字母的组合,在保持 URL 安全 的前提下,实现了极高的数值压缩效率,是短链接服务的核心基石。

一、 为什么需要它?

在处理海量数据标识时,我们经常面临“长度”与“安全”的权衡:

方案核心逻辑优势痛点
Base10纯数字 (0-9)天然 URL 安全表达大数值时字符串过长
Base16十六进制 (0-F)机器友好压缩率提升有限
Base6262 个字符长度短、无特殊符号字符集顺序无统一 RFC 标准
Base6464 个字符压缩率极高包含 + / =,在 URL 中需二次转义

二、 核心机制

Base62 使用 10 个数字 + 26 个小写字母 + 26 个大写字母。

标准顺序通常为:0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

三、 应用场景

  1. 短链接生成:将自增 ID(如 123456789)压缩为短路径(如 8M9v)。
  2. 唯一短 ID:生成美观、易读的分享码或邀请码。
  3. 防遍历 (Security by Obscurity):通过打乱字符集顺序,让攻击者无法轻易推测出下一个有效的 ID。

总结

Base62 是 “可读性、长度、安全性” 的完美平衡点。它比 Base10 更短,比 Base64 更安全,是分布式系统中替代长 UUID、美化 URL 路径的首选方案。