custom_base alternatives and similar packages
Based on the "Text and Numbers" category.
Alternatively, view custom_base alternatives based on common mentions on social networks and blogs.
-
Ex_Money
Money arithmetic, conversion, serialisation with Ecto and exchange rate service integration. -
number
Number is a pretentiously-named Elixir library which provides functions to convert numbers into a variety of different formats. -
secure_random
Convenience library for random base64 strings modeled after my love for Ruby's SecureRandom. -
chinese_translation
Translate between traditional chinese and simplified chinese based on wikipedia data, and translate chinese words/characters to pinyin (or slug with or without tone). -
inet_cidr
Classless Inter-Domain Routing (CIDR) for Elixir that is compatible with :inet and supports both IPv4 and IPv6. -
unit_fun
Attempt to add units to numbers in elixir to give some added type saftey when dealing with numeric quantities. -
bencode
A Bencode encoder and decoder for Elixir. The decoder will return the checksum value of the info dictionary, if an info dictionary was found in the input.
Scout APM: A developer's best friend. Try free for 14-days
Do you think we are missing an alternative of custom_base or a related project?
README
CustomBase
CustomBase allow you to make custom base conversion in Elixir.
Installation
Add { :custom_base, "~> 0.2" }
to deps
function in your mix.exs
file.
After you are done, run mix deps.get
in your shell to fetch and compile CustomBase.
Example
Lets make Base12
module with conversion described below.
Value | Encoding |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | A |
11 | B |
Add macro to your module:
defmodule Base12 do
use CustomBase, '0123456789AB'
end
Now your module have 2 functions encode/1
and decode/1
:
iex> Base12.encode(9)
"9"
iex> Base12.encode(10)
"A"
iex> Base12.encode(11)
"B"
iex> Base12.encode(12)
"10"
iex> Base12.decode("16")
18
iex> Base12.decode("AB")
131
Specs & Docs
All specs included by this library, if you want to provide your documentation,
add it after use
call, like this:
defmodule Base12 do
use CustomBase, '0123456789AB'
@moduledoc """
Your module docs.
"""
@doc """
Documentation for encode/1.
"""
def encode(integer)
@doc """
Documentation for decode/1.
"""
def decode(binary)
@doc """
Documentation for decode!/1.
"""
def decode!(binary)
end
License
Released under the MIT License.
*Note that all licence references and agreements mentioned in the custom_base README section above
are relevant to that project's source code only.