5个稳定版本
2.0.0 | 2023年7月29日 |
---|---|
1.2.1 |
|
1.1.1 | 2022年10月3日 |
1.1.0 | 2022年2月13日 |
1.0.1 | 2022年2月10日 |
#1922 在 编码 中
每月下载量7,723
在 28 个crate中(直接使用11个)
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