basenc

Crates.iobasenc
lib.rsbasenc
version0.2.3
created_at2016-12-01 14:45:10.372738+00
updated_at2025-09-13 11:07:33.058346+00
descriptionEncoding and decoding hex, base64 and base32 with support for #[no_std].
homepage
repositoryhttps://github.com/CasualX/basenc
max_upload_size
id7428
size88,258
Casper (CasualX)

documentation

https://docs.rs/basenc/

README

BaseNC

MIT License crates.io docs.rs Build status

Pronounced "Base-En-See".

Encoding and decoding hex, base64 and base32 with support for #[no_std].

🌟 Why BaseNC?

  • âš¡ Optimized performance – SIMD-accelerated algorithms for blazing-fast encoding/decoding.
  • 📦 Zero dependencies – Lightweight and reliable, no extra baggage.
  • 🦀 Simple, ergonomic API – Encode/decode in just a few lines of code.
  • 🔧 #[no_std] support – Works seamlessly in embedded and constrained environments.

🚀 Examples

Encoding:

let encoded = basenc::Base64Std.encode(b"hello world");
assert_eq!(encoded, "aGVsbG8gd29ybGQ");

Decoding:

let decoded = basenc::Base64Std.decode("aGVsbG8gd29ybGQ=").unwrap();
assert_eq!(decoded, b"hello world");

Features

  • std (default) - Enable support for the standard library, including convenient encoding/decoding to String and Vec<u8>.

  • simd-off - Disable SIMD acceleration. (The SIMD paths are less tested and may contain bugs.)

  • simd-runtime - Enable runtime detection of SIMD support. This is on by default, and will automatically use SIMD acceleration when available.

Tip: Build with RUSTFLAGS="-C target-cpu=native" (bash) or set RUSTFLAGS=-C target-cpu=native (cmd) to enable compiletime detection.

📜 License

Licensed under MIT License, see license.txt.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.

Commit count: 7

cargo fmt