#no-std #base64 #base32 #hex

no-std data-encoding

Efficient and customizable data-encoding functions like base64, base32, and hex

14 stable releases

2.3.2 Jan 29, 2021
2.3.1 Nov 1, 2020
2.3.0 Aug 9, 2020
2.2.1 May 23, 2020
1.1.1 Dec 12, 2015

#15 in Encoding

Download history 73169/week @ 2021-02-26 69345/week @ 2021-03-05 71884/week @ 2021-03-12 76161/week @ 2021-03-19 83719/week @ 2021-03-26 78605/week @ 2021-04-02 84439/week @ 2021-04-09 80888/week @ 2021-04-16 80706/week @ 2021-04-23 77151/week @ 2021-04-30 83060/week @ 2021-05-07 78879/week @ 2021-05-14 79343/week @ 2021-05-21 78599/week @ 2021-05-28 89257/week @ 2021-06-04 74397/week @ 2021-06-11

330,445 downloads per month
Used in 1,134 crates (177 directly)

MIT license

110KB
1.5K SLoC

Build Status Build Status Coverage Status

This library provides the following common encodings:

Name Description
HEXLOWER lowercase hexadecimal
HEXLOWER_PERMISSIVE lowercase hexadecimal (case-insensitive decoding)
HEXUPPER uppercase hexadecimal
HEXUPPER_PERMISSIVE uppercase hexadecimal (case-insensitive decoding)
BASE32 RFC4648 base32
BASE32_NOPAD RFC4648 base32 (no padding)
BASE32_DNSSEC RFC5155 base32
BASE32_DNSCURVE DNSCurve base32
BASE32HEX RFC4648 base32hex
BASE32HEX_NOPAD RFC4648 base32hex (no padding)
BASE64 RFC4648 base64
BASE64_NOPAD RFC4648 base64 (no padding)
BASE64_MIME RFC2045-like base64
BASE64URL RFC4648 base64url
BASE64URL_NOPAD RFC4648 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.

No runtime deps

Features

  • alloc
  • std