编码 | 解码 | 压缩

> 编码 | 解码 | 压缩 <

// 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

// 速查表

DECHEXBase36Base62
0000
613d1pz
623e1q10
10003e8rsG8
12345678975bcd1521i3v98M0kX
4294967295ffffffff1z141z34gfFC3

// 代码示例

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 位就够用。