Skip to content

A Rust crate for the translation of Unicode letters into Ascii letters.

License

Notifications You must be signed in to change notification settings

curlpipe/uniaxe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uniaxe

A small crate to efficiently transform unicode characters into ascii characters, e.g. ℍ𝕒𝕙𝕒𝕙 𝕌𝕟𝕚𝕔𝕠𝕕𝕖 𝕝𝕞𝕒𝕠 𝕩𝕕 𝕣𝕠𝕗𝕝 becomes Hahah Unicode lmao xd rofl.

Purpose

Here are some possible uses of this crate:

  • Destruction of annoying unicode characters in people's names / messages.
  • Destruction of unicode characters in environments where unicode is not allowed.
  • Creating a filter for a messaging application (would allow you to stop stupid things like those with a mental age of 2 from spamming 🄵🅄🄲🄺 🅈🄾🅄 and thinking they're the bees knees)

I created this crate for the purpose of my mail spam filter experiment, I wanted to be able to prevent junk mail with unicode characters in them from slipping through and I couldn't find an existing crate or library in any other language.

You may find that this crate can't handle some unicode characters, in that case, you can always submit a pull request or create an issue to allow uniaxe to become more successful at destroying unicode characters.

Installation

You can install the uniaxe library with ease.

You can add it to your Cargo.toml like so:

uniaxe = "0"

You can also use cargo-edit to add uniaxe to your crate:

cargo add uniaxe

Examples

I aim to keep the uniaxe api simple, as it should be.

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"
}

Testing

Uniaxe is tested thoroughly to ensure that it will not panic. It also forbids all unsafe code to ensure that software that depends on it is safe.

About

A Rust crate for the translation of Unicode letters into Ascii letters.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages