Shared encoding / codec utilities for the pocopine workspace.
The point of this crate is that crates never re-implement encoding helpers or
their serde adapters and never reach for base64 or percent-encoding
directly. Add new codecs here rather than inlining them per crate.
use ;
assert_eq!;
assert_eq!;
Percent-encoding goes through one component encoder (RFC 3986
"unreserved" set — what URL path segments, query parts, and fragments
want) plus a lossy decoder. Pass a custom [AsciiSet] to
[percent_encode_set] when a backend needs a different escape set.
use ;
assert_eq!;
assert_eq!;
For a Vec<u8> struct field that should serialize as a base64 string, use the
[base64_bytes] serde adapter:
use ;
This crate is no_std (it only needs alloc).