KO
|
EN
gitlite — search
Search
#python
#java
#python3
#arduino
#golang
#machine-learning
#rust
#html
#flask
#javascript
#seismology
#nodejs
z-base-32
★ 11
Open GitHub ↗
z-base-32: human-oriented base-32 encoding
Download README (.md)
Explore Similar Repositories
MangaxMangaOpenSources
:
No description available.
poseidon
:
Scalable task execution orchestrator for CodeOcean.
python-contents
:
Summary of all repositories for my public contents, mostly Python, in Jupyter Notebooks, PDFs, Markdowns, and more!
hero-db-vs
:
Professional video training store Dashboard | html css bootstrap v5 js
Capstone499
:
COSC 499: Capstone Software Engineering Project
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
z-base-32
?
Download (.md)
# z-base-32 [](https://crates.io/crates/z-base-32) [](https://docs.rs/z-base-32) The `z-base-32` is a human-oriented base-32 encoding. ## Rust ### Crate #### Installation ```sh cargo add z-base-32 ``` #### API The library exposes two functions with the following signatures and an error type: ```rs pub fn encode(input: impl AsRef<[u8]>) -> String; pub fn decode(input: &str) -> Result<Vec<u8>, DecodeError>; pub struct DecodeError; ``` #### Example ```rs use zbase32::{encode, decode}; fn main() { assert_eq!(encode(b"foo"), "c3zs6"); assert_eq!(Ok(b"foo"), decode("c3zs6".to_string())); assert_eq!(decode(&encode(b"foo")).unwrap(), b"foo") } ``` ### CLI This project also provides a CLI utility with a similar interface to the well-known `base64` command. #### Installation To install `z-base-32` CLI you can build it from source or download prebuild binary from [releases](https://github.com/matusf/z-base-32/releases/latest). ```console cargo install --features cli z-base-32 ``` #### Example ```console $ zbase32 -h z-base-32: human-oriented base-32 encoding Usage: zbase32 [OPTIONS] [FILE] Arguments: [FILE] File to encode or decode Options: -d, --decode Decode data -w, --wrap <WRAP> Wrap encoded lines after COLS character [default: 76] -h, --help Print help -V, --version Print version ``` ## Python ### Installation The `z-base-32` package is published at [PyPI](https://pypi.org/project/z-base-32/). Install it using the following command: ```console pip install z-base-32 ``` ### Building This crate can be compiled with the feature flag `python` in which case it produces Python bindings. To build Python wheels use [`maturin`](https://github.com/PyO3/maturin): ```console maturin build ``` ### API ```py def encode(input: bytes) -> str: def decode(input: str) -> bytes: class DecodeError(Exception): ``` ### Example ```py import zbase32 assert zbase32.encode(b'foo') == 'c3zs6' assert zbase32.decode('c3zs6') == b'foo' try: zbase32.decode('invalid@char') except zbase32.DecodeError as e: print(e) ``` ## References - <https://philzimmermann.com/docs/human-oriented-base-32-encoding.txt>