pub struct TXT { /* private fields */ }
Expand description
RFC 1035, DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION, November 1987
3.3.14. TXT RDATA format
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/ TXT-DATA /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
TXT RRs are used to hold descriptive text. The semantics of the text
depends on the domain where it is found.
Implementations§
source§impl TXT
impl TXT
sourcepub fn new(txt_data: Vec<String>) -> Self
pub fn new(txt_data: Vec<String>) -> Self
Creates a new TXT record data.
Arguments
txt_data
- the set of strings which make up the txt_data.
Return value
The new TXT record data.
sourcepub fn from_bytes(txt_data: Vec<&[u8]>) -> Self
pub fn from_bytes(txt_data: Vec<&[u8]>) -> Self
Creates a new TXT record data from bytes. Allows creating binary record data.
Arguments
txt_data
- the set of bytes which make up the txt_data.
Return value
The new TXT record data.
Trait Implementations§
source§impl Display for TXT
impl Display for TXT
source§fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Format a TXT with lossy conversion of invalid utf8.
Case of invalid utf8
Invalid utf8 will be converted to:
U+FFFD REPLACEMENT CHARACTER
, which looks like this: �
Same behaviour as alloc::string::String::from_utf8_lossy
.
let first_bytes = b"Invalid utf8 <\xF0\x90\x80>.";
let second_bytes = b" Valid utf8 <\xF0\x9F\xA4\xA3>";
let rdata: Vec<&[u8]> = vec![first_bytes, second_bytes];
let txt = TXT::from_bytes(rdata);
let tested = format!("{}", txt);
assert_eq!(
tested.as_bytes(),
b"Invalid utf8 <\xEF\xBF\xBD>. Valid utf8 <\xF0\x9F\xA4\xA3>",
"Utf8 lossy conversion error! Mismatch between input and expected"
);