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
52 lines
895 B
Markdown
3 years ago
|
# 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
|