> 编码 | 解码 | 压缩 <
// Base62编码实现URL安全的紧凑数据表示
本地处理
100%客户端Base62编码。您的数据永远不会离开浏览器。
URL安全
无+、/或=等特殊字符。完美适用于URL和文件名。
双向转换
同时支持编码和解码功能。可逆数据转换。
// 关于BASE62编码
Base62工作原理:
Base62使用62个字符(0-9,A-Z,a-z)来表示数据。它将二进制数据转换为紧凑的、URL安全的字符串,不含特殊字符。
示例:
"你好" → 5TP3P3v
为什么使用Base62:
- >无需编码即可URL安全
- >无特殊字符(+,/,=)
- >比十六进制更短
- >适合数据库键值
- >人类可读格式
>> 常见问题
问:什么是Base62编码?
答:Base62编码使用62个字符(0-9、A-Z、a-z)来表示数据。类似于Base64,但没有特殊字符(+、/、=),因此URL安全且适合文件名。
问:Base62与Base64有何不同?
答:Base62使用62个字符,而Base64使用64个。Base62避免了特殊字符,因此无需编码即可用于URL。Base64更紧凑但需要URL编码。
问:何时应该使用Base62?
答:在需要URL slug、文件名、数据库键或任何需要紧凑、URL安全且无特殊字符的编码场景中使用Base62。
问:Base62编码是可逆的吗?
答:是的,Base62编码是完全可逆的。编码的数据可以解码回原始形式,无任何损失。
问:Base62编码的效率如何?
答:Base62比Base64大约20%,但消除了URL编码的需求。对Web应用程序而言,通常总体上更高效。
// RELATED ARTICLES
// 速查表
| DEC | HEX | Base36 | Base62 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 61 | 3d | 1p | z |
| 62 | 3e | 1q | 10 |
| 1000 | 3e8 | rs | G8 |
| 123456789 | 75bcd15 | 21i3v9 | 8M0kX |
| 4294967295 | ffffffff | 1z141z3 | 4gfFC3 |
// 代码示例
Alphabet 0-9 A-Z a-z (0-9A-Za-z, no official RFC)
Capacity 62^6 = 56,800,235,584 62^7 = 3,521,614,606,208
Python A="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
while n: s = A[n % 62] + s; n //= 62
JS npm i base62 base62.encode(123456)
>> 更多问题
问:Base62 有统一标准吗?
答:没有,Base62 没有 RFC。各库的字符顺序不同:最常见的是 0-9A-Za-z(与本工具一致),也有 0-9a-zA-Z 或 A-Za-z0-9。因此必须使用相同字母表才能正确解码。
问:Base62 区分大小写吗?
答:区分。A 和 a 是不同符号,值也不同,符号数量是 Base36 的两倍。如果需要不区分大小写的值(如 DNS 标签),请使用 Base36。
问:6 位或 7 位能容纳多少短链接?
答:6 位有 62⁶ = 56,800,235,584 种组合(约 568 亿),7 位有 62⁷ = 3,521,614,606,208 种(约 3.5 万亿)。因此短链接服务通常 6–8 位就够用。