| Crates.io | enrede |
| lib.rs | enrede |
| version | 0.2.0 |
| created_at | 2024-05-25 00:10:49.977348+00 |
| updated_at | 2025-06-18 04:55:45.098996+00 |
| description | An easy-to-use string encoding library, providing an interface similar to str/String. |
| homepage | |
| repository | https://github.com/CraftSpider/enrede |
| max_upload_size | |
| id | 1251656 |
| size | 487,682 |
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.
Str<E> and String<E> types, equivalent to str and std::string::String,
but generic over encoding.CStr<E> and CString<E> types, equivalent to std::ffi::CStr and std::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 encodingThese features are not yet supported, but are planned for a future version:
no_std SupportBy 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>]).
Currently, it is assumed that all supported encodings are subsets of the Unicode character set.