You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
895 B
Markdown

# UWU-Codec
I'm sorry.
## Motivation
Do you also think hexadecimal byte encoding is boring? Do you want more uwu in your life?
This program solves both of your problems. Bytes are encoded into two words according to
the following mapping:
| nibble | word |
|--------|------|
| 0000 | uwu
| 0001 | owo
| 0010 | umu
| 0011 | nya
| 0100 | omo
| 0101 | o_o
| 0110 | q_p
| 0111 | u_u
| 1000 | o~o
| 1001 | UwU
| 1010 | OwO
| 1011 | UmU
| 1100 | OmO
| 1101 | O_O
| 1110 | U_U
| 1111 | Nya
## Usage
Use the `uwuencode` and `uwudecode` binaries like this:
```
uwuencode path/to/raw/input path/to/encoded/output
uwudecode path/to/encoded/input path/to/raw/output
```
You can also use the functions in your project to spice things up:
```rust
use uwucodec::encode;
fn main() {
let encoded = encode(&"Hello World".as_bytes());
let decoded = decode(&encoded);
}
```
## License
Apache-2.0