Adds base32 encode/decode support #864
Open
+235
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
#863
Summary
Add base32 encode/decode to
gleam/bit_array
to complement existing base16/base64 (RFC 4648).Works on Erlang and JavaScript targets.
Changes
Public API
base32_encode(input: BitArray, padding: Bool) -> String
base32_decode(encoded: String) -> Result(BitArray, Nil)
FFI
Erlang:
base_encode32/2
,base_decode32/1
JavaScript:
encode32(bit_array, padding)
,decode32(s)
Tests
base32_encode_test
andbase32_decode_test
(RFC 4648 vectors, partial-bit, lowercase acceptance, invalid inputs)Behavior
=
padding; pads bit arrays to full bytes=
Notes
Additional Notes