enc
This library aids in processing encoded data. No dependencies.
enc = "0.19.0"
Features
full
base-64
hex
percent
var-int
For more features see the Crate Docs.
Data & Value Encoding
There are separate traits for handling encoded data and encoded values.
The src/data folder holds the traits: Encoder, StringEncoder, Decoder and Validator. These traits provide an
interface for encoders that operate on byte slices, such as base-64 & hex.
The src/value folder holds the traits: EncodedLen, EncodeToSlice, EncodeToWrite etc. These traits provide an
interface for values that know how to encode and decode themselves such as var-int.
Examples
Base-64
use Base64Encoder;
use StringEncoder;
let encoder: Base64Encoder = url_safe_encoder;
let encoded: String = encoder.encode_as_string?;
assert_eq!;
Hex
use HexEncoder;
use StringEncoder;
let encoded: String = LOWER.encode_as_string?;
assert_eq!;
Percent Encoding
use PercentEncoder;
use StringEncoder;
let encoder: PercentEncoder = "+-.".into;
let encoded: String = encoder.encode_as_string?;
assert_eq!;
Variable-Length Integers
use VarInt32;
use ;
let value: VarInt32 = from;
let bytes: = value.encode_as_vec?;
let decoded: VarInt32 = decode_from_read_prefix?;
assert_eq!;
Issues & Contributing
See ISSUES.md for future work and CONTRIBUTING.md for guidelines.