#[non_exhaustive]pub enum NativeEncodingPolicy {
RejectUnknown,
AssumeUtf8,
}Expand description
Controls how a native CHARSXP is interpreted when the RDS header field is
absent, which means format 2. Parsing retains bytes lazily for RStr values:
conversion by crate::RStr::as_str or a typed view then performs validation
or rejection. A SYMSXP print name is converted during parsing instead, so a
symbol name that cannot be decoded fails immediately with
crate::Error::InvalidSymbolName under either policy.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RejectUnknown
Preserve bytes for retained RStr values without assuming an encoding;
conversion later rejects non-ASCII native strings in format 2 when no
header encoding is available. SYMSXP print names are decoded during
parsing.
AssumeUtf8
Treat native strings as UTF-8 in format 2 when the header has no
encoding, for callers with an external UTF-8 contract. Conversion later
validates retained RStr bytes without lossy replacement; SYMSXP
print names are decoded during parsing.