#unicode #unicode-characters #ascii #cleaning

uniaxe

一个Rust包,用于将Unicode字母替换为ASCII等效字符

2个版本

0.1.1 2021年2月1日
0.1.0 2020年12月12日

#1902 in 文本处理

MIT 许可证

36KB
235

Uniaxe

一个小的包,可以将Unicode字符高效地转换为ASCII字符,例如 ℍ𝕒𝕙𝕒𝕙 𝕌𝕟𝕚𝕔𝕠𝕕𝕖 𝕝𝕞𝕒𝕠 𝕩𝕕 𝕣𝕠𝕗𝕝 变成 Hahah Unicode lmao xd rofl

用途

以下是这个包的一些可能用途

  • 删除人名/消息中令人讨厌的Unicode字符。
  • 删除不允许Unicode字符的环境中的Unicode字符。
  • 为消息应用创建过滤器(允许你阻止像2岁小孩那样的人用 🄵🅄🄲🄺 🅈🄾🅄 进行垃圾邮件,并认为他们是最好的)

我创建这个包是为了我的邮件垃圾邮件过滤器实验,我想防止包含Unicode字符的垃圾邮件通过,但我找不到任何其他语言中现有的包或库。

你可能发现这个包无法处理某些Unicode字符,在这种情况下,你可以提交一个拉取请求或创建一个问题,让uniaxe更成功地破坏Unicode字符。

安装

你可以轻松地安装uniaxe库。

你可以在Cargo.toml中添加它,如下所示

uniaxe = "0"

你还可以使用cargo-edit将uniaxe添加到你的包中

cargo add uniaxe

示例

我旨在保持uniaxe API简单,因为它应该是这样的。

use uniaxe::lookup::generate_table;
use uniaxe::uniaxe;

fn main() {
    let table = generate_table();
    let text = uniaxe("𝙡𝙤𝙤𝙠 𝙖𝙩 𝙢𝙚 𝙞'𝙢 𝙨𝙤 𝙦𝙪𝙞𝙧𝙠𝙮", &table);
    println!("{}", text); // This will display "look at me i'm so quirky"
}

测试

Uniaxe经过彻底测试,以确保不会崩溃。它还禁止所有不安全代码,以确保依赖它的软件是安全的。

无运行时依赖