Bug: 288307411

Clone this repo:
  1. fb7dd79 Migrate 25 crates to monorepo. am: e3a3bd637c by James Farrell · 5 months ago main master
  2. e3a3bd6 Migrate 25 crates to monorepo. by James Farrell · 5 months ago main-16k
  3. c0ae2ad Update Android.bp by running cargo_embargo am: 1e6474bd9d by James Farrell · 6 months ago
  4. 1e6474b Update Android.bp by running cargo_embargo by James Farrell · 6 months ago
  5. aa958b2 Cleanup license metadata in external/rust/crates/data-encoding. am: bd9df15cd4 by Wei Li · 6 months ago

CI Status Coverage Status

This library provides the following common encodings:

NameDescription
HEXLOWERlowercase hexadecimal
HEXLOWER_PERMISSIVElowercase hexadecimal (case-insensitive decoding)
HEXUPPERuppercase hexadecimal
HEXUPPER_PERMISSIVEuppercase hexadecimal (case-insensitive decoding)
BASE32RFC4648 base32
BASE32_NOPADRFC4648 base32 (no padding)
BASE32_DNSSECRFC5155 base32
BASE32_DNSCURVEDNSCurve base32
BASE32HEXRFC4648 base32hex
BASE32HEX_NOPADRFC4648 base32hex (no padding)
BASE64RFC4648 base64
BASE64_NOPADRFC4648 base64 (no padding)
BASE64_MIMERFC2045-like base64
BASE64URLRFC4648 base64url
BASE64URL_NOPADRFC4648 base64url (no padding)

It also provides the possibility to define custom little-endian ASCII base-conversion encodings for bases of size 2, 4, 8, 16, 32, and 64 (for which all above use-cases are particular instances).

See the documentation for more details.