Skip to content

The-Ticking-Clockwork/Crockford-Base32-Nim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

97d87da · Feb 19, 2025

History

14 Commits
Feb 19, 2025
Feb 19, 2025
Feb 19, 2025
Oct 31, 2023
Feb 19, 2025
Feb 19, 2025

Repository files navigation

Crockford Base32 (Nim)

This is an unfinished implementation of Crockford Base32 in Nim, it doesn't support checking, but PRs are welcome if someone wishes to implement that.

If you're using nint128 in your project, we support encoding or decoding of those types too, just define crockfordb32NintSupport!

stint support is unimplemented, but planned to be added in the future.

This project is also licensed under CC0, so it can be used in any way, shape or form! No credit needed (but still appreciated)!

Usage

import crockfordb32

let encoded = int.encode(2829)
echo encoded  # Output is `2RD`

let decoded = int.decode("2RD")
echo decoded  # Output is `2829`

The encode functions additionally have a length parameter allowing you to pad the generated string (for example, ULIDs must be 26 characters long).