pub struct ZeroWidthText;Expand description
Zero-width character text steganography adapter (STUB).
NOT YET IMPLEMENTED: Zero-width Unicode characters (ZWSP, ZWNJ, ZWJ, etc.) have complex grapheme clustering rules that make reliable embedding/extraction difficult. Format characters can be combined with adjacent characters by the Unicode grapheme segmentation algorithm in context-dependent ways.
TODO(T15): Implement zero-width text steganography:
- Research Unicode-safe zero-width character pairs that remain separate graphemes
- Consider alternative approaches (variation selectors, combining marks)
- Extensive testing with all Unicode scripts (Arabic, Thai, Devanagari, emoji ZWJ sequences)
- Validate grapheme-cluster safety across all contexts
Implementations§
Source§impl ZeroWidthText
impl ZeroWidthText
Trait Implementations§
Source§impl Debug for ZeroWidthText
impl Debug for ZeroWidthText
Source§impl Default for ZeroWidthText
impl Default for ZeroWidthText
Source§fn default() -> ZeroWidthText
fn default() -> ZeroWidthText
Returns the “default value” for a type. Read more
Source§impl EmbedTechnique for ZeroWidthText
impl EmbedTechnique for ZeroWidthText
Source§fn technique(&self) -> StegoTechnique
fn technique(&self) -> StegoTechnique
The technique identifier for this implementation.
Source§fn capacity(&self, _cover: &CoverMedia) -> Result<Capacity, StegoError>
fn capacity(&self, _cover: &CoverMedia) -> Result<Capacity, StegoError>
Estimate how many payload bytes
cover can hold. Read moreSource§fn embed(
&self,
_cover: CoverMedia,
_payload: &Payload,
) -> Result<CoverMedia, StegoError>
fn embed( &self, _cover: CoverMedia, _payload: &Payload, ) -> Result<CoverMedia, StegoError>
Source§impl ExtractTechnique for ZeroWidthText
impl ExtractTechnique for ZeroWidthText
Source§fn technique(&self) -> StegoTechnique
fn technique(&self) -> StegoTechnique
The technique identifier for this implementation.
Source§fn extract(&self, _cover: &CoverMedia) -> Result<Payload, StegoError>
fn extract(&self, _cover: &CoverMedia) -> Result<Payload, StegoError>
Extract a hidden payload from
stego. Read moreAuto Trait Implementations§
impl Freeze for ZeroWidthText
impl RefUnwindSafe for ZeroWidthText
impl Send for ZeroWidthText
impl Sync for ZeroWidthText
impl Unpin for ZeroWidthText
impl UnsafeUnpin for ZeroWidthText
impl UnwindSafe for ZeroWidthText
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more