Skip to content

curlpipe/uniaxe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 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 devious users 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