base-d 0.1.9

Universal multi-alphabet encoder: Encode binary data to 33+ alphabets including RFC standards, hieroglyphs, emoji, and more
Documentation
# Base-d Alphabet Definitions
# Each alphabet is a string of unique characters used for encoding

# Mode options:
#   "base_conversion" (default) - Treat data as single large number
#   "chunked" - Process in fixed-size bit chunks (like standard base64)
#   "byte_range" - Direct byte-to-character mapping using Unicode range

[alphabets.base100]
mode = "byte_range"
start_codepoint = 127991  # U+1F3F7 (๐Ÿท๏ธ) - base100 emoji range

[alphabets.cards]
chars = "๐Ÿ‚ก๐Ÿ‚ข๐Ÿ‚ฃ๐Ÿ‚ค๐Ÿ‚ฅ๐Ÿ‚ฆ๐Ÿ‚ง๐Ÿ‚จ๐Ÿ‚ฉ๐Ÿ‚ช๐Ÿ‚ซ๐Ÿ‚ญ๐Ÿ‚ฎ๐Ÿ‚ฑ๐Ÿ‚ฒ๐Ÿ‚ณ๐Ÿ‚ด๐Ÿ‚ต๐Ÿ‚ถ๐Ÿ‚ท๐Ÿ‚ธ๐Ÿ‚น๐Ÿ‚บ๐Ÿ‚ป๐Ÿ‚ฝ๐Ÿ‚พ๐Ÿƒ๐Ÿƒ‚๐Ÿƒƒ๐Ÿƒ„๐Ÿƒ…๐Ÿƒ†๐Ÿƒ‡๐Ÿƒˆ๐Ÿƒ‰๐ŸƒŠ๐Ÿƒ‹๐Ÿƒ๐ŸƒŽ๐Ÿƒ‘๐Ÿƒ’๐Ÿƒ“๐Ÿƒ”๐Ÿƒ•๐Ÿƒ–๐Ÿƒ—๐Ÿƒ˜๐Ÿƒ™๐Ÿƒš๐Ÿƒ›๐Ÿƒ๐Ÿƒž"
mode = "base_conversion"

[alphabets.dna]
chars = "ACGT"
mode = "base_conversion"

[alphabets.binary]
chars = "01"
mode = "base_conversion"

# ============================================================================
# RFC 4648 Standard Encodings (chunked mode)
# ============================================================================

[alphabets.base64]
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
mode = "chunked"
padding = "="

[alphabets.base64url]
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
mode = "chunked"
padding = "="

[alphabets.base32]
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
mode = "chunked"
padding = "="

[alphabets.base32hex]
chars = "0123456789ABCDEFGHIJKLMNOPQRSTUV"
mode = "chunked"
padding = "="

[alphabets.base16]
chars = "0123456789ABCDEF"
mode = "chunked"

[alphabets.hex]
chars = "0123456789abcdef"
mode = "chunked"

# ============================================================================
# Bitcoin / Blockchain Encodings (mathematical mode)
# ============================================================================

[alphabets.base58]
chars = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
mode = "base_conversion"

[alphabets.base58flickr]
chars = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"
mode = "base_conversion"

# ============================================================================
# Other Common Encodings
# ============================================================================

[alphabets.base62]
chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
mode = "base_conversion"

[alphabets.base85]
chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~"
mode = "base_conversion"

[alphabets.ascii85]
chars = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstu"
mode = "base_conversion"

[alphabets.z85]
chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#"
mode = "base_conversion"

# ============================================================================
# Human-Oriented Encodings (avoid ambiguous characters)
# ============================================================================

[alphabets.base32_crockford]
chars = "0123456789ABCDEFGHJKMNPQRSTVWXYZ"
mode = "base_conversion"

[alphabets.base32_zbase]
chars = "ybndrfg8ejkmcpqxot1uwisza345h769"
mode = "base_conversion"

# ============================================================================
# Mathematical variants (for comparison)
# ============================================================================

[alphabets.base64_math]
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
mode = "base_conversion"

[alphabets.hex_math]
chars = "0123456789abcdef"
mode = "base_conversion"

# ============================================================================
# Esoteric & Fun Unicode Alphabets
# ============================================================================

[alphabets.hieroglyphs]
chars = "๐“€€๐“€๐“€‚๐“€ƒ๐“€„๐“€…๐“€†๐“€‡๐“€ˆ๐“€‰๐“€Š๐“€‹๐“€Œ๐“€๐“€Ž๐“€๐“€๐“€‘๐“€’๐“€“๐“€”๐“€•๐“€–๐“€—๐“€˜๐“€™๐“€š๐“€›๐“€œ๐“€๐“€ž๐“€Ÿ๐“€ ๐“€ก๐“€ข๐“€ฃ๐“€ค๐“€ฅ๐“€ฆ๐“€ง๐“€จ๐“€ฉ๐“€ช๐“€ซ๐“€ฌ๐“€ญ๐“€ฎ๐“€ฏ๐“€ฐ๐“€ฑ๐“€ฒ๐“€ณ๐“€ด๐“€ต๐“€ถ๐“€ท๐“€ธ๐“€น๐“€บ๐“€ป๐“€ผ๐“€ฝ๐“€พ๐“€ฟ๐“€๐“๐“‚๐“ƒ๐“„๐“…๐“†๐“‡๐“ˆ๐“‰๐“Š๐“‹๐“Œ๐“๐“Ž๐“๐“๐“‘๐“’๐““๐“”๐“•๐“–๐“—๐“˜๐“™๐“š๐“›๐“œ๐“๐“ž๐“Ÿ๐“ ๐“ก๐“ข๐“ฃ"
mode = "base_conversion"

[alphabets.cuneiform]
chars = "๐’€€๐’€๐’€‚๐’€ƒ๐’€„๐’€…๐’€†๐’€‡๐’€ˆ๐’€‰๐’€Š๐’€‹๐’€Œ๐’€๐’€Ž๐’€๐’€๐’€‘๐’€’๐’€“๐’€”๐’€•๐’€–๐’€—๐’€˜๐’€™๐’€š๐’€›๐’€œ๐’€๐’€ž๐’€Ÿ๐’€ ๐’€ก๐’€ข๐’€ฃ๐’€ค๐’€ฅ๐’€ฆ๐’€ง๐’€จ๐’€ฉ๐’€ช๐’€ซ๐’€ฌ๐’€ญ๐’€ฎ๐’€ฏ๐’€ฐ๐’€ฑ๐’€ฒ๐’€ณ๐’€ด๐’€ต๐’€ถ๐’€ท๐’€ธ๐’€น๐’€บ๐’€ป๐’€ผ๐’€ฝ๐’€พ๐’€ฟ๐’€๐’๐’‚๐’ƒ๐’„๐’…๐’†๐’‡๐’ˆ๐’‰๐’Š๐’‹๐’Œ๐’๐’Ž๐’๐’๐’‘๐’’๐’“๐’”๐’•๐’–๐’—๐’˜๐’™๐’š๐’›๐’œ๐’๐’ž๐’Ÿ๐’ ๐’ก๐’ข๐’ฃ"
mode = "base_conversion"

[alphabets.domino]
chars = "๐Ÿ€ฐ๐Ÿ€ฑ๐Ÿ€ฒ๐Ÿ€ณ๐Ÿ€ด๐Ÿ€ต๐Ÿ€ถ๐Ÿ€ท๐Ÿ€ธ๐Ÿ€น๐Ÿ€บ๐Ÿ€ป๐Ÿ€ผ๐Ÿ€ฝ๐Ÿ€พ๐Ÿ€ฟ๐Ÿ€๐Ÿ๐Ÿ‚๐Ÿƒ๐Ÿ„๐Ÿ…๐Ÿ†๐Ÿ‡๐Ÿˆ๐Ÿ‰๐ŸŠ๐Ÿ‹๐ŸŒ๐Ÿ๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—๐Ÿ˜๐Ÿ™๐Ÿš๐Ÿ›๐Ÿœ๐Ÿ๐Ÿž๐ŸŸ๐Ÿ ๐Ÿก๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ๐Ÿด๐Ÿต๐Ÿถ๐Ÿท๐Ÿธ๐Ÿน๐Ÿบ๐Ÿป๐Ÿผ๐Ÿฝ๐Ÿพ๐Ÿฟ๐Ÿ‚€๐Ÿ‚๐Ÿ‚‚๐Ÿ‚ƒ๐Ÿ‚„๐Ÿ‚…๐Ÿ‚†๐Ÿ‚‡๐Ÿ‚ˆ๐Ÿ‚‰๐Ÿ‚Š๐Ÿ‚‹๐Ÿ‚Œ๐Ÿ‚๐Ÿ‚Ž๐Ÿ‚๐Ÿ‚๐Ÿ‚‘๐Ÿ‚’๐Ÿ‚“"
mode = "base_conversion"

[alphabets.mahjong]
chars = "๐Ÿ€€๐Ÿ€๐Ÿ€‚๐Ÿ€ƒ๐Ÿ€„๐Ÿ€…๐Ÿ€†๐Ÿ€‡๐Ÿ€ˆ๐Ÿ€‰๐Ÿ€Š๐Ÿ€‹๐Ÿ€Œ๐Ÿ€๐Ÿ€Ž๐Ÿ€๐Ÿ€๐Ÿ€‘๐Ÿ€’๐Ÿ€“๐Ÿ€”๐Ÿ€•๐Ÿ€–๐Ÿ€—๐Ÿ€˜๐Ÿ€™๐Ÿ€š๐Ÿ€›๐Ÿ€œ๐Ÿ€๐Ÿ€ž๐Ÿ€Ÿ๐Ÿ€ ๐Ÿ€ก๐Ÿ€ข๐Ÿ€ฃ๐Ÿ€ค๐Ÿ€ฅ๐Ÿ€ฆ๐Ÿ€ง๐Ÿ€จ๐Ÿ€ฉ๐Ÿ€ช๐Ÿ€ซ"
mode = "base_conversion"

[alphabets.chess]
chars = "โ™”โ™•โ™–โ™—โ™˜โ™™โ™šโ™›โ™œโ™โ™žโ™Ÿ"
mode = "base_conversion"

[alphabets.alchemy]
chars = "๐Ÿœ€๐Ÿœ๐Ÿœ‚๐Ÿœƒ๐Ÿœ„๐Ÿœ…๐Ÿœ†๐Ÿœ‡๐Ÿœˆ๐Ÿœ‰๐ŸœŠ๐Ÿœ‹๐ŸœŒ๐Ÿœ๐ŸœŽ๐Ÿœ๐Ÿœ๐Ÿœ‘๐Ÿœ’๐Ÿœ“๐Ÿœ”๐Ÿœ•๐Ÿœ–๐Ÿœ—๐Ÿœ˜๐Ÿœ™๐Ÿœš๐Ÿœ›๐Ÿœœ๐Ÿœ๐Ÿœž๐ŸœŸ๐Ÿœ ๐Ÿœก๐Ÿœข๐Ÿœฃ๐Ÿœค๐Ÿœฅ๐Ÿœฆ๐Ÿœง๐Ÿœจ๐Ÿœฉ๐Ÿœช๐Ÿœซ๐Ÿœฌ๐Ÿœญ๐Ÿœฎ๐Ÿœฏ๐Ÿœฐ๐Ÿœฑ๐Ÿœฒ๐Ÿœณ๐Ÿœด๐Ÿœต๐Ÿœถ๐Ÿœท๐Ÿœธ๐Ÿœน๐Ÿœบ๐Ÿœป๐Ÿœผ๐Ÿœฝ๐Ÿœพ๐Ÿœฟ๐Ÿ€๐Ÿ๐Ÿ‚๐Ÿƒ๐Ÿ„๐Ÿ…๐Ÿ†๐Ÿ‡๐Ÿˆ๐Ÿ‰๐ŸŠ๐Ÿ‹๐ŸŒ๐Ÿ๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—๐Ÿ˜๐Ÿ™๐Ÿš๐Ÿ›๐Ÿœ๐Ÿ๐Ÿž๐ŸŸ๐Ÿ ๐Ÿก๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ"
mode = "base_conversion"

[alphabets.zodiac]
chars = "โ™ˆโ™‰โ™Šโ™‹โ™Œโ™โ™Žโ™โ™โ™‘โ™’โ™“"
mode = "base_conversion"

[alphabets.emoji_faces]
chars = "๐Ÿ˜€๐Ÿ˜๐Ÿ˜‚๐Ÿ˜ƒ๐Ÿ˜„๐Ÿ˜…๐Ÿ˜†๐Ÿ˜‡๐Ÿ˜ˆ๐Ÿ˜‰๐Ÿ˜Š๐Ÿ˜‹๐Ÿ˜Œ๐Ÿ˜๐Ÿ˜Ž๐Ÿ˜๐Ÿ˜๐Ÿ˜‘๐Ÿ˜’๐Ÿ˜“๐Ÿ˜”๐Ÿ˜•๐Ÿ˜–๐Ÿ˜—๐Ÿ˜˜๐Ÿ˜™๐Ÿ˜š๐Ÿ˜›๐Ÿ˜œ๐Ÿ˜๐Ÿ˜ž๐Ÿ˜Ÿ๐Ÿ˜ ๐Ÿ˜ก๐Ÿ˜ข๐Ÿ˜ฃ๐Ÿ˜ค๐Ÿ˜ฅ๐Ÿ˜ฆ๐Ÿ˜ง๐Ÿ˜จ๐Ÿ˜ฉ๐Ÿ˜ช๐Ÿ˜ซ๐Ÿ˜ฌ๐Ÿ˜ญ๐Ÿ˜ฎ๐Ÿ˜ฏ๐Ÿ˜ฐ๐Ÿ˜ฑ๐Ÿ˜ฒ๐Ÿ˜ณ๐Ÿ˜ด๐Ÿ˜ต๐Ÿ˜ถ๐Ÿ˜ท๐Ÿ˜ธ๐Ÿ˜น๐Ÿ˜บ๐Ÿ˜ป๐Ÿ˜ผ๐Ÿ˜ฝ๐Ÿ˜พ๐Ÿ˜ฟ๐Ÿ™€๐Ÿ™๐Ÿ™‚๐Ÿ™ƒ๐Ÿ™„๐Ÿ™…๐Ÿ™†๐Ÿ™‡๐Ÿ™ˆ๐Ÿ™‰๐Ÿ™Š๐Ÿ™‹๐Ÿ™Œ๐Ÿ™๐Ÿ™Ž๐Ÿ™"
mode = "base_conversion"

[alphabets.emoji_animals]
chars = "๐Ÿ€๐Ÿ๐Ÿ‚๐Ÿƒ๐Ÿ„๐Ÿ…๐Ÿ†๐Ÿ‡๐Ÿˆ๐Ÿ‰๐ŸŠ๐Ÿ‹๐ŸŒ๐Ÿ๐ŸŽ๐Ÿ๐Ÿ๐Ÿ‘๐Ÿ’๐Ÿ“๐Ÿ”๐Ÿ•๐Ÿ–๐Ÿ—๐Ÿ˜๐Ÿ™๐Ÿš๐Ÿ›๐Ÿœ๐Ÿ๐Ÿž๐ŸŸ๐Ÿ ๐Ÿก๐Ÿข๐Ÿฃ๐Ÿค๐Ÿฅ๐Ÿฆ๐Ÿง๐Ÿจ๐Ÿฉ๐Ÿช๐Ÿซ๐Ÿฌ๐Ÿญ๐Ÿฎ๐Ÿฏ๐Ÿฐ๐Ÿฑ๐Ÿฒ๐Ÿณ๐Ÿด๐Ÿต๐Ÿถ๐Ÿท๐Ÿธ๐Ÿน๐Ÿบ๐Ÿป๐Ÿผ๐Ÿฝ๐Ÿพ๐Ÿฟ"
mode = "base_conversion"

[alphabets.runic]
chars = "แš แšกแšขแšฃแšคแšฅแšฆแšงแšจแšฉแšชแšซแšฌแšญแšฎแšฏแšฐแšฑแšฒแšณแšดแšตแšถแšทแšธแšนแšบแšปแšผแšฝแšพแšฟแ›€แ›แ›‚แ›ƒแ›„แ›…แ›†แ›‡แ›ˆแ›‰แ›Šแ›‹แ›Œแ›แ›Žแ›แ›แ›‘แ›’แ›“แ›”แ›•แ›–แ›—แ›˜แ›™แ›šแ››แ›œแ›แ›žแ›Ÿแ› แ›กแ›ขแ›ฃแ›คแ›ฅแ›ฆแ›งแ›จแ›ฉแ›ชแ›ซแ›ฌแ›ญแ›ฎแ›ฏแ›ฐ"
mode = "base_conversion"

[alphabets.arrows]
chars = "โ†โ†‘โ†’โ†“โ†”โ†•โ†–โ†—โ†˜โ†™โ†šโ†›โ†œโ†โ†žโ†Ÿโ† โ†กโ†ขโ†ฃโ†คโ†ฅโ†ฆโ†งโ†จโ†ฉโ†ชโ†ซโ†ฌโ†ญโ†ฎโ†ฏโ†ฐโ†ฑโ†ฒโ†ณโ†ดโ†ตโ†ถโ†ทโ†ธโ†นโ†บโ†ปโ†ผโ†ฝโ†พโ†ฟโ‡€โ‡โ‡‚โ‡ƒโ‡„โ‡…โ‡†โ‡‡โ‡ˆโ‡‰โ‡Šโ‡‹โ‡Œโ‡โ‡Žโ‡โ‡โ‡‘โ‡’โ‡“โ‡”โ‡•โ‡–โ‡—โ‡˜โ‡™โ‡šโ‡›โ‡œโ‡โ‡žโ‡Ÿโ‡ โ‡กโ‡ขโ‡ฃโ‡คโ‡ฅโ‡ฆโ‡งโ‡จโ‡ฉโ‡ชโ‡ซโ‡ฌโ‡ญโ‡ฎโ‡ฏโ‡ฐโ‡ฑโ‡ฒโ‡ณโ‡ดโ‡ตโ‡ถโ‡ทโ‡ธโ‡นโ‡บโ‡ปโ‡ผโ‡ฝโ‡พโ‡ฟ"
mode = "base_conversion"

[alphabets.weather]
chars = "โ˜€โ˜โ˜‚โ˜ƒโ˜„โ˜…โ˜†โ˜‡โ˜ˆโ˜‰โ˜Šโ˜‹โ˜Œโ˜โ˜Žโ˜โ˜โ˜‘โ˜’โ˜“โ˜”โ˜•โ˜–โ˜—โ˜˜โ˜™โ˜šโ˜›โ˜œโ˜โ˜žโ˜Ÿโ˜ โ˜กโ˜ขโ˜ฃโ˜คโ˜ฅโ˜ฆโ˜งโ˜จโ˜ฉโ˜ชโ˜ซโ˜ฌโ˜ญโ˜ฎโ˜ฏโ˜ฐโ˜ฑโ˜ฒโ˜ณโ˜ดโ˜ตโ˜ถโ˜ทโ˜ธโ˜นโ˜บโ˜ปโ˜ผโ˜ฝโ˜พโ˜ฟโ™€โ™โ™‚โ™ƒโ™„โ™…โ™†โ™‡"
mode = "base_conversion"

[alphabets.music]
chars = "๐„€๐„๐„‚๐„ƒ๐„„๐„…๐„†๐„‡๐„ˆ๐„‰๐„Š๐„‹๐„Œ๐„๐„Ž๐„๐„๐„‘๐„’๐„“๐„”๐„•๐„–๐„—๐„˜๐„™๐„š๐„›๐„œ๐„๐„ž๐„Ÿ๐„ ๐„ก๐„ข๐„ฃ๐„ค๐„ฅ๐„ฆ๐„ง๐„จ๐„ฉ๐„ช๐„ซ๐„ฌ๐„ญ๐„ฎ๐„ฏ๐„ฐ๐„ฑ๐„ฒ๐„ณ๐„ด๐„ต๐„ถ๐„ท๐„ธ๐„น๐„บ๐„ป๐„ผ๐„ฝ๐„พ๐„ฟ๐…€๐…๐…‚๐…ƒ๐…„๐……๐…†๐…‡๐…ˆ๐…‰๐…Š๐…‹๐…Œ๐…๐…Ž๐…๐…๐…‘๐…’๐…“๐…”๐…•๐…–๐…—๐…˜๐…™๐…š๐…›๐…œ๐…๐…ž๐…Ÿ๐… ๐…ก๐…ข๐…ฃ"
mode = "base_conversion"