curlpipe / uniaxe

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:MIT License


Languages

Language:Rust 100.0%