Crates.io | enrede |
lib.rs | enrede |
version | 0.1.3 |
source | src |
created_at | 2024-05-25 00:10:49.977348 |
updated_at | 2024-08-09 21:13:10.417317 |
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 | 416,527 |
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.