Expand description
§Enrede
An easy-to-use string encoding library, providing an interface similar to str
/String
, for
working with strings in encodings beyond UTF-8. Due to the API being based on std
, working with other
encodings is as transparent and painless as possible.
The name, enrede
, is a double wordplay - Encode/Recode/Decode, and Enrede means
‘tangled’ or ‘caught’ in Spanish.
§Features
Str<E>
andString<E>
types, equivalent tostr
andstd::string::String
, but generic over encoding.CStr<E>
andCString<E>
types, equivalent tostd::ffi::CStr
andstd::ffi::CString
, but generic over encoding.Encoding
trait with support for lower-level direct encoding/recoding into slicesno_std
supportrand::Distribution
impls for encodings, allowing easy generation of valid characters for an encoding
§Planned Features
These features are not yet supported, but are planned for a future version:
- Dynamically encoded strings
- Extended methods for encodings following certain properties:
- Constant length encodings
- More encodings
- Big5
- More methods on strings and C-strings
§no_std
Support
By default, the std
and alloc
features are enabled. By using default-features = false
in your Cargo.toml
, you can disable these features. When std
is disabled, this crate
is no_std
. When the alloc
feature is disabled, the crate won’t use alloc
, and any types
or functions requiring allocation will be disabled (For example String<E>
).
§Limitations
Currently, it is assumed that all supported encodings are subsets of the Unicode character set.
Re-exports§
pub use cstr::CStr;
pub use cstring::CString;
pub use encoding::Encoding;
pub use str::Str;
pub use string::String;
Modules§
- cstr
- Implementation and utilities for a generically encoded [
std::ffi::CStr
] equivalent type. - cstring
- Implementation and utilities for a generically encoded [
std::ffi::CString
] equivalent type. - encoding
- The base for generic encoding support. This module provides the
Encoding
trait and its various implementors, such asUtf8
. - str
- Implementation and utilities for a generically encoded
str
equivalent type. - string
- Implementation and utilities for a generically encoded
std::String
equivalent type.