#emoji #binary-to-text #no-std

no-std emoji256

用于哈希和加密密钥的二进制到文本编码方案

3 个版本

0.2.2 2023年5月4日
0.2.1 2023年5月4日
0.2.0 2023年5月4日

#2090编码

每月 37 次下载

MIT/Apache

25KB
395

emoji256

ga-svg crates-svg docs-svg codecov-svg deps-svg

Emoji256 是一种用于读取哈希和加密密钥的二进制到文本编码方案。通过将文本转换为表情符号,我们可以利用我们的自动生物叙事机器来理解或甚至记忆任意的字节序列。

emoji256 通过使用位于 src/table.rs 中的预定义查找表,将 8 位值转换为 256 个表情符号的表格。此表包含 0 到 255 的 256 种可能的 8 位值组合的唯一表情符号。 查找表仍在积极调整,以减少偏差并提高可理解性。

此 Rust 包将数据编码和解码为 emoji256。它使用与流行的 Rust 包 hex 相同的 API。

示例

编码 String

let encoded_string = emoji256::encode("Hello world!");

println!("{}", encoded_string); // Prints "🐙👽💉💉💌🍭💦💌💕💉👻🍰"

解码 String

let decoded_string = String::from_utf8(emoji256::decode("🐙👽💉💉💌🍭💦💌💕💉👻🍰").unwrap()).unwrap();

println!("{}", decoded_string); // Prints "Hello world!"

您可以在此处找到文档

安装

要使用此包,您需要在您的 Cargo.toml 中的 [dependencies] 下添加它

[dependencies]
emoji256 = "0.2"

默认情况下,这将导入 std,如果您在一个 no_std 环境中工作,您可以通过添加以下内容来关闭此功能

[dependencies]
emoji256 = { version = "0.2", default-features = false }

功能

  • std: 默认启用。添加对 Rust 的 libstd 类型的支持。
  • alloc: 默认启用。在 no_std 环境中添加对 alloc 类型的支持(例如 String)。
  • serde: 默认禁用。添加对 serde de/序列化库的支持。请参阅 serde 模块文档以了解用法。

许可

根据您的选择,许可如下

贡献

除非您明确声明,否则您提交的任何贡献,根据 Apache-2.0 许可证定义,都应按上述方式双许可,不附加任何额外条款或条件。

依赖关系

~175KB