module Data.BaseSystem.Alphabets
( binary,
decimal,
hexlower,
hexupper,
btc58,
b32lower,
b32upper,
b32hexlower,
b32hexupper,
b64,
b64url,
)
where
import Data.BaseSystem.Alphabet
binary :: Alphabet
binary :: Alphabet
binary = String -> Alphabet
mkAlphabet String
"01"
decimal :: Alphabet
decimal :: Alphabet
decimal = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ Char
'0' Char -> String -> String
forall a. a -> [a] -> [a]
: [Char
'1' .. Char
'9']
hexupper :: Alphabet
hexupper :: Alphabet
hexupper = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ [Char
'0'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'1' .. Char
'9'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'A' .. Char
'F']
hexlower :: Alphabet
hexlower :: Alphabet
hexlower = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ [Char
'0'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'1' .. Char
'9'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'a' .. Char
'f']
btc58 :: Alphabet
btc58 :: Alphabet
btc58 =
String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$
[Char
'1' .. Char
'9']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'A' .. Char
'H']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'J' .. Char
'N']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'P' .. Char
'Z']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'a' .. Char
'k']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'm' .. Char
'z']
b32lower :: Alphabet
b32lower :: Alphabet
b32lower = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ [Char
'a' .. Char
'z'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'2' .. Char
'7']
b32upper :: Alphabet
b32upper :: Alphabet
b32upper = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ [Char
'A' .. Char
'Z'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'2' .. Char
'7']
b32hexupper :: Alphabet
b32hexupper :: Alphabet
b32hexupper = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ [Char
'0'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'1' .. Char
'9'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'A' .. Char
'V']
b32hexlower :: Alphabet
b32hexlower :: Alphabet
b32hexlower = String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$ [Char
'0'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'1' .. Char
'9'] String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'a' .. Char
'v']
b64 :: Alphabet
b64 :: Alphabet
b64 =
String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$
[Char
'A' .. Char
'Z']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'a' .. Char
'z']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'0']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'1' .. Char
'9']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'+', Char
'/']
b64url :: Alphabet
b64url :: Alphabet
b64url =
String -> Alphabet
mkAlphabet (String -> Alphabet) -> String -> Alphabet
forall a b. (a -> b) -> a -> b
$
[Char
'A' .. Char
'Z']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'a' .. Char
'z']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'0']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'1' .. Char
'9']
String -> String -> String
forall a. [a] -> [a] -> [a]
++ [Char
'-', Char
'_']