#decode #base64 #encode #utf8 #url

no-std base64-url

Base64 encode, decode, escape and unescape for URL applications

26 stable releases

1.4.9 Mar 10, 2021
1.4.8 Nov 13, 2020
1.4.7 Jul 29, 2020
1.1.13 Feb 21, 2020
1.1.7 Nov 16, 2018

#100 in Encoding

Download history 1811/week @ 2020-12-25 3452/week @ 2021-01-01 3135/week @ 2021-01-08 2429/week @ 2021-01-15 3182/week @ 2021-01-22 2477/week @ 2021-01-29 2919/week @ 2021-02-05 3032/week @ 2021-02-12 2087/week @ 2021-02-19 2712/week @ 2021-02-26 2823/week @ 2021-03-05 2773/week @ 2021-03-12 2813/week @ 2021-03-19 3837/week @ 2021-03-26 5147/week @ 2021-04-02 3600/week @ 2021-04-09

11,501 downloads per month
Used in 32 crates (4 directly)

MIT license

22KB
377 lines

Base64 URL

Build Status

Base64 encode, decode, escape and unescape for URL applications.

Examples

Encode data to a Base64-URL string.

extern crate base64_url;

assert_eq!("SGVsbG8sIHdvcmxkIQ", base64_url::encode("Hello, world!"));

Decode a Base64-URL string to data.

extern crate base64_url;

assert_eq!(b"Hello, world!", base64_url::decode("SGVsbG8sIHdvcmxkIQ").unwrap().as_slice());

Escape a Base64 string to a Base64-URL string. The conversion is not concerning with Base64 decoding. You need to make sure the input string is a correct Base64 string by yourself.

extern crate base64_url;

assert_eq!("SGVsbG8sIHdvcmxkIQ", base64_url::escape("SGVsbG8sIHdvcmxkIQ=="));

Unescape a Base64-URL string to a Base64-URL string. The conversion is not concerning with Base64 decoding. You need to make sure the input string is a correct Base64-URL string by yourself.

extern crate base64_url;

assert_eq!("SGVsbG8sIHdvcmxkIQ==", base64_url::unescape("SGVsbG8sIHdvcmxkIQ"));

Besides, you can also use other encode_*, decode_*, escape_*, unescape_* associated functions to deal with more specific cases. For example,

extern crate base64_url;

let hash = &[1, 2, 3, 4, 5, 6, 7, 8, 9];
let mut url = String::from("https://example.com/?hash=");

assert_eq!("AQIDBAUGBwgJ", base64_url::encode_to_string(hash, &mut url));
assert_eq!("https://example.com/?hash=AQIDBAUGBwgJ", url);

Crates.io

https://crates.io/crates/base64-url

Documentation

https://docs.rs/base64-url

License

MIT

Dependencies

~200KB