5个稳定版本

2.0.0 2023年7月29日
1.2.1 2023年7月26日
1.1.1 2022年10月3日
1.1.0 2022年2月13日
1.0.1 2022年2月10日

#1922编码

Download history 2108/week @ 2024-04-23 2513/week @ 2024-04-30 1582/week @ 2024-05-07 1321/week @ 2024-05-14 2247/week @ 2024-05-21 1182/week @ 2024-05-28 1653/week @ 2024-06-04 1307/week @ 2024-06-11 1252/week @ 2024-06-18 1583/week @ 2024-06-25 1217/week @ 2024-07-02 1693/week @ 2024-07-09 1604/week @ 2024-07-16 1846/week @ 2024-07-23 2188/week @ 2024-07-30 1666/week @ 2024-08-06

每月下载量7,723
28 个crate中(直接使用11个)

MPL-2.0-no-copyleft-exception

13KB
184 代码行

base85

一个根据RFC1924描述并发布在Mozilla Public License 2.0下的Base85编码库。

描述

存在几种Base85编码的变体。最受欢迎的变体通常也被称为ascii85,它最著名的是用于Adobe产品。这不是那个算法。

在RFC 1924中实现的变体最初旨在编码IPv6地址。它使用与其他版本相同的概念,但使用了一个字符集,可以方便地嵌入到源代码中而无需转义。在解码过程中,ASCII空白字符(\n、\r、\t、空格)被忽略。Base85编码的字符串比原始二进制数据大25%,比更常见的base64算法(33%)更有效。这种编码与JSON配合得非常好,具有更低的开销且无需字符转义。

用法

尽管这段代码是我写的第一段真正的Rust代码,但代码经过良好的测试,API很简单:encode() 将字节切片转换为字符串,而 decode() 将字符串引用转换为字节数组(u8)。这两个调用完全在RAM中执行,因此处理大文件可能不是一个好主意。

贡献

我已经编码了一段时间,但我仍然是一名Rust的初学者。欢迎提出建议和贡献。尽管出于历史原因可以在GitHub上找到一个镜像仓库,但这个crate的官方仓库在 GitLab。请将所有问题和PR提交到该位置。

依赖关系

~310–780KB
~18K SLoC