Enum zalgo_codec_common::Error
source · pub enum Error {
UnencodableAscii(u8, usize, usize, &'static str),
NotAscii(u8, usize, usize),
}
Expand description
The error returned by zalgo_encode
, ZalgoString::new
, and zalgo_wrap_python
if they encounter a byte they can not encode.
Only implements the Error
trait if the std
feature is enabled.
Variants§
UnencodableAscii(u8, usize, usize, &'static str)
Represents a valid ASCII character that is outside of the encodable set.
NotAscii(u8, usize, usize)
Represents some other unicode character.
Implementations§
source§impl Error
impl Error
sourcepub const fn line(&self) -> usize
pub const fn line(&self) -> usize
Returns the 1-indexed line number of the line on which the unencodable byte occured.
Examples
assert_eq!(zalgo_encode("❤️").err().unwrap().line(), 1);
assert_eq!(zalgo_encode("a\nb\nc\r\n").err().unwrap().line(), 3);
sourcepub const fn column(&self) -> usize
pub const fn column(&self) -> usize
Returns the 1-indexed column where the unencodable byte occured. Columns are counted from left to right and the count resets for each new line.
Example
assert_eq!(zalgo_encode("I ❤️ 🎂").err().unwrap().column(), 3);
assert_eq!(zalgo_encode("I\n❤️\n🎂").err().unwrap().column(), 1);
sourcepub const fn byte(&self) -> u8
pub const fn byte(&self) -> u8
Returns the value of the first byte of the unencodable character.
Examples
assert_eq!(zalgo_encode("\r").err().unwrap().byte(), 13);
Note that this might not be the complete representation of the character in unicode, just the first byte of it.
assert_eq!(zalgo_encode("❤️").err().unwrap().byte(), 226);
// Even though
assert_eq!("❤️".as_bytes(), &[226, 157, 164, 239, 184, 143])
sourcepub const fn representation(&self) -> Option<&'static str>
pub const fn representation(&self) -> Option<&'static str>
Return a representation of the unencodable byte. This exists if the character is an unencodable ASCII character. If it is some other unicode character we only know its first byte, so we can not accurately represent it.
Examples
assert_eq!(zalgo_encode("\r").err().unwrap().representation(), Some("Carriage Return"));
assert_eq!(zalgo_encode("❤️").err().unwrap().representation(), None);