这是一个基于 HTML、JavaScript 和 Tailwind CSS 的单文件 Base21 编码/解码工具。它采用 Base21 编码方案将任意文本(UTF-8 字节流)转换为使用 21 个字符的字符串表示。
独特之处: 用户可以自定义用于编码和解码的 21 个字符的字母表(Alphabet),提供更高的灵活性和定制化。
Base21 编码旨在将 8 位(1 字节,范围 0-255)的数据映射为两个 Base21 字符。
- Base21 的基数
$N = 21$ 。 -
$N \times N = 21 \times 21 = 441$ 。由于$441 > 255$ ,因此一个字节的任何值$B$ 都可以安全地表示为两个 Base21 索引$v_1$ 和$v_2$ :$$B = v_1 \times 21 + v_2$$ 其中$v_1 = \lfloor B / 21 \rfloor$ 且$v_2 = B \pmod{21}$ 。
推荐直接使用现代浏览器打开GithubPage页面 https://probiusofficial.github.io/base21/
- 将提供的代码保存为一个纯
.html文件(例如index.html)。 - 使用任何现代浏览器打开该文件。
- 定义字母表: 在顶部的输入框中,输入您想要使用的 21 个不重复的字符作为字母表。默认值为:
ABCDEFGHIJKLMNOPQRSTU。 - 选择操作:
- 编码: 将您想转换的普通文本输入到左侧区域,点击 “编码 (文本 → Base-N)” 按钮。
- 解码: 将 Base21 字符串输入到左侧区域,点击 “解码 (Base-N → 文本)” 按钮。
- 查看结果: 转换结果将显示在右侧的“输出结果”区域。
您必须确保您的自定义字母表满足以下要求:
- 长度必须恰好为 21 个字符。
- 字符必须是唯一的(不重复)。
📝 重要: 编码和解码必须使用相同的字母表,否则将导致解码失败或数据错误。如果字母表输入无效,工具将无法执行操作。
本项目采用 Apache License 2.0 许可证。