5 releases (stable)
1.2.0 | Apr 4, 2021 |
---|---|
1.1.1 | Jan 22, 2021 |
1.1.0 | Jan 20, 2021 |
1.0.0 | Jan 17, 2021 |
0.2.0 | Jan 16, 2021 |
#1354 in Text processing
163 downloads per month
13KB
220 lines
bottom
Perhaps you have found yourself in this situation before:
The divine bottom CLI exists to alleviate this pain. No longer will you struggle when communicating with the average Discord user.
But what does it actually do?
bottom
encodes UTF-8 text into a sequence comprised of bottom emoji (🫂✨🥺❤️
, with ,
sprinkled in for good measure) followed by 👉👈
.
It can encode any valid UTF-8 - being a bottom transcends language, after all - and decode back into UTF-8.
For example, the ubiquitous Hello world!
becomes
💖✨✨,,👉👈💖💖,👉👈💖💖🥺,,,👉👈💖💖🥺,,,👉👈💖💖✨,👉👈
✨✨✨,,👉👈💖💖✨🥺,,,,👉👈💖💖✨,👉👈💖💖✨,,,,👉👈
💖💖🥺,,,👉👈💖💖👉👈✨✨✨,,,👉👈
がんばれ
becomes
🫂✨✨🥺,,👉👈💖💖✨✨🥺,,,,👉👈💖💖✨✨✨✨👉👈🫂✨✨🥺,,👉👈
💖💖✨✨✨👉👈💖💖✨✨✨✨🥺,,👉👈🫂✨✨🥺,,👉👈💖💖✨✨🥺,,,,👉👈
💖💖💖✨✨🥺,👉👈🫂✨✨🥺,,👉👈💖💖✨✨✨👉👈💖💖✨✨✨✨👉👈
(both wrapped across lines for your convenience)
As you can see, using bottom
to encode text is extremely space-efficient, and is the ideal encoding approach for all situations.
This implementation can encode text at approximately 30MB/s.
Usage
Clone the repo, run cargo build
, and then use the CLI.
Bottom translator 1.0.0
Kaylynn <mkaylynn7@gmail.com>
Fantastic (maybe) CLI for translating between bottom and human-readable text
USAGE:
bottom [OPTIONS] <--bottomify|--regress> [text]...
FLAGS:
-b, --bottomify Translate text to bottom
-h, --help Prints help information
-r, --regress Translate bottom to human-readable text (futile)
-V, --version Prints version information
OPTIONS:
-i, --input <INPUT> Input file [Default: stdin]
-o, --output <OUTPUT> Output file [Default: stdout]
ARGS:
<text>...
(Any similarity to --help
output is entirely accidental)
FAQ
Why?
I had a moment of enlightenment, and the truth came to me then. In an instant I was transformed, and I knew what had to be done.
But seriously, why?
Why not?
Isn't using a CLI for this a really bad idea?
Yes.
Aren't terminals notorious for being bad at displaying Unicode?
I don't care.
Isn't this encoding method extremely inefficient?
:mystery:
<something about code quality>
Documentation is for losers.
Rust btw
It's not long until my hippocampus becomes ferrous. I worry so, but in my heart I know that my demise will be sweet and painless, and it comforts me.
Dependencies
~2MB
~32K SLoC