#rfc #codec #networking #notation #rfc-8771 #unreadable

bin+lib i-dunno

RFC 8771 国际化故意难以阅读的网络符号

5 个版本 (1 个稳定版)

1.0.0 2021年3月30日
0.6.0 2021年3月25日
0.5.0 2021年3月17日
0.0.2 2021年3月17日
0.0.1 2021年3月17日

#1019 in 编码

MIT 许可证

250KB
12K SLoC

I-DUNNO in Rust

此库实现了在RFC 8771中定义的国际化故意难以阅读的网络符号(简称I-DUNNO)。该库支持I-DUNNO表示的编码和解码,但命令行界面仅支持编码,不实现解码,因为RFC建议此类函数的输出不应呈现给人类。

代码和文档大量借鉴了Lily Foster的I-DUNNO的Python实现

要立即开始使用I-DUNNO,请查看基于此项目的I-DUNNO Creator

安装和使用

首先,安装Rust

然后,安装i-dunno

cargo install i-dunno

最后,按如下方式运行

i-dunno 198.51.100.164

构建

首先,安装Rust

现在你可以使用以下方式构建

cargo test

或者,如果你有GNU Make,尝试

make

限制

当前的实现仅限于生成没有填充位的I-DUNNO编码。添加对填充位的支持将是一个很好的贡献机会 - 请参阅combinations.rs中的注释和问题#1。

更多信息

其他工具

我们建议安装cargo-watchrustfmt

rustup component add rustfmt
cargo install cargo-watch

贡献

欢迎贡献!请确保您只提交您编写的代码,或者您有权提交。

您可以通过合并请求记录问题并提出更改建议。

在提交合并请求之前,您绝对应该使用cargo fmt格式化您的代码。

本项目的版权为2021年Andy Balaam所有。

设计灵感来自Lily Foster在Python I-DUNNO中的工作。

包含Peter Reid的confusables_to_data.rs的适配版本。

此代码在MIT许可证下发布。

依赖项

~2MB
~20K SLoC