Function zalgo_codec_common::zalgo_encode
source · pub fn zalgo_encode(string_to_encode: &str) -> Result<String, Error>
Expand description
Takes in an ASCII string without control characters (except newlines) and encodes it into a single grapheme cluster using a reversible encoding scheme.
The resulting string is a single unicode grapheme cluster and should
only take up a single character space horizontally when displayed
(though this can vary between platforms depending on how they deal with unicode).
The resulting string will be ~2 times larger than the original in terms of bytes, and it
can be decoded to recover the original string with zalgo_decode
.
Example
assert_eq!(zalgo_encode("Zalgo").unwrap(), "É̺͇͌͏");
Notes
Can not encode carriage returns, present in e.g. line endings on Windows.