ProbiusOfficial / base21

Home Page:https://probiusofficial.github.io/base21/

Repository from Github https://github.comProbiusOfficial/base21Repository from Github https://github.comProbiusOfficial/base21

Base21 编码解码工具 (自定义字母表)

License: Apache 2.0

简介

这是一个基于 HTML、JavaScript 和 Tailwind CSS 的单文件 Base21 编码/解码工具。它采用 Base21 编码方案将任意文本(UTF-8 字节流)转换为使用 21 个字符的字符串表示。

独特之处: 用户可以自定义用于编码和解码的 21 个字符的字母表(Alphabet),提供更高的灵活性和定制化。

Base21 编码原理

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/

  1. 将提供的代码保存为一个纯 .html 文件(例如 index.html)。
  2. 使用任何现代浏览器打开该文件。

核心步骤

  1. 定义字母表: 在顶部的输入框中,输入您想要使用的 21 个不重复的字符作为字母表。默认值为:ABCDEFGHIJKLMNOPQRSTU
  2. 选择操作:
    • 编码: 将您想转换的普通文本输入到左侧区域,点击 “编码 (文本 → Base-N)” 按钮。
    • 解码: 将 Base21 字符串输入到左侧区域,点击 “解码 (Base-N → 文本)” 按钮。
  3. 查看结果: 转换结果将显示在右侧的“输出结果”区域。

🛠️ 自定义字母表要求

您必须确保您的自定义字母表满足以下要求:

  • 长度必须恰好为 21 个字符。
  • 字符必须是唯一的(不重复)。

📝 重要: 编码和解码必须使用相同的字母表,否则将导致解码失败或数据错误。如果字母表输入无效,工具将无法执行操作。

许可证

本项目采用 Apache License 2.0 许可证。

About

https://probiusofficial.github.io/base21/

License:Apache License 2.0


Languages

Language:HTML 100.0%