Skip to content

ratopi/base45

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

base45

An Base45-encoder/decoder in pure Erlang.

Source code at https://github.com/ratopi/base45.

Implementing encoding as defined in RFC 9285 (https://datatracker.ietf.org/doc/rfc9285/).

Import to your project

Use it in your project via rebar dependency:

{deps, [base45]}.

or for a specific release:

{deps, [{base45, "2.0.0"]}.

Or if you like to fetch the source code from github:

{rebar, {git, "https://github.com/ratopi/base45.git", {tag, "2.0.0"}}}.

See https://hex.pm/packages/base45 for more info about the hex package.

Overview of current releases are on the hex-page or at https://github.com/ratopi/base45/releases.

Usage

Usage is just straight forward. Currently only binaries are supported.

Encoding:

base45:encode(<<1,2,3>>).

gives

<<"X5030">>

Decoding:

base45:decode(<<"X5030">>).

gives

<<1,2,3>>

Calling decode with an illegal input string (like <<"GGW">>, which leads to 65536), will throw an illegal_encoding exception in a tuple, containing the problematic part of the input:

{illegal_encoding, <<"GGW">>}

Calling decode with an illegal input string with illegal base45 characters (that are characters not in the base45 alphabet), will throw an illegal_character exception in a tuple, containing the problematic part of the input:

{illegal_character, <<"=">>}

Feedback and bugs

Feel free to give me any feedback you like via github: https://github.com/ratopi/base45/issues

Breaking changes

With version 2.0.0 the typo in error atom "illegale_encoding" was fixed, and is now "illegal_encoding" (w/o "e").

About

A Base45 encoder/decoder in pure Erlang

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages