#binary-data #base64 #binary-encoding #user-interface #data-encoding #tags #url-safe

bin+lib tagged-base64

面向用户的二进制数据格式。Tagged Base64旨在用于用户界面,包括URL和可复制粘贴的文本,无需额外的编码,例如引号或转义序列。

3个不稳定版本

0.4.0 2024年3月15日
0.3.3 2023年6月6日
0.3.2 2023年6月6日

1781编码 中排名

Download history 835/week @ 2024-04-20 1007/week @ 2024-04-27 875/week @ 2024-05-04 627/week @ 2024-05-11 727/week @ 2024-05-18 946/week @ 2024-05-25 805/week @ 2024-06-01 704/week @ 2024-06-08 484/week @ 2024-06-15 691/week @ 2024-06-22 459/week @ 2024-06-29 416/week @ 2024-07-06 605/week @ 2024-07-13 1113/week @ 2024-07-20 756/week @ 2024-07-27 829/week @ 2024-08-03

3,385 每月下载量
3 个crate(2 个直接) 中使用

MIT 协议

27KB
308

面向用户的二进制数据格式。Tagged Base64旨在用于用户界面,包括URL和可复制粘贴的文本,无需额外的编码,例如引号或转义序列。包含校验和,以便在不了解二进制数据结构的情况下捕获常见问题,如意外删除或打字错误。

为了进一步减少混淆,值前缀有一个用于消除歧义的标签。虽然这不是必需的,但开发人员和用户可能会发现有一个使用提示很方便,使他们能够一眼看出某物是交易ID还是账本地址等。

例如,

   KEY~cHVibGljIGtleSBiaXRzBQ
   TX~dHJhbnNhY3Rpb24gaWRlbnRpZmllciBnb2VzIGhlcmUC
   Zg~Zgg
   mytag~bXl0YWd7

与base64值一样,标签也仅限于URL安全的base64字符集。

注意:标签可以是空字符串。base64部分不能为空;至少,它将编码一个字节的校验和。

标签和分隔符有助于避免将二进制值解析为数字时出现的问题。由于范围和表示,大型的二进制值不适合JavaScript数字。这意味着可以表示的最大无符号整数是2^53 - 1。此外,很容易不小心将看起来像数字的字符串强制转换为JavaScript数字,从而运行精度丢失的风险,即损坏。因此,值以base64编码,以便在JavaScript中安全地传输和接收,包括在URL中以及用户界面中的显示和输入。

依赖项

~2.7–6MB
~112K SLoC