Tool to decode / encode with the Z-Base-32. ZBase32 is a variant of base 32 which is intended to be improved for use and transcription by humans.

Z-Base-32 - dCode

Tag(s) : Character Encoding

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

z-base-32 encoding is a variant of base 32 (standard RFC 3548) proposed by Zooko O'Whielacronx and made to optimize the writing and the reading by the humans. z-base-32 code uses 32 characters ybndrfg8ejkmcpqxot1uwisza345h769 ie. the 36 alphanumeric characters excluding 4 characters that can be confused with others: 0,l,v,2. The order of the alphabet is also changed (instead of abcdefghijklmnopqrstuvwxyz234567) in order to favor the common letters (vowels) and make the coded messages pronounceable. Also, the superfluous characters = appearing at the end of base32 and base64 codes are removed.

The plain message is treated as a binary string.

__Example:__ Z is encoded in ASCII (8-bit) 01011010

The string is divided into 5-bit blocks (supplemented if necessary by 0).

__Example:__ The split gives the 10 bits 01011,01000 (with two' 0's added at the end)

Each block of 5 bits is then encoded via the alphabet of z-base-32 by its corresponding character:

00000 | y | 00001 | b | 00010 | n | 00011 | d |
---|---|---|---|---|---|---|---|

00100 | r | 00101 | f | 00110 | g | 00111 | 8 |

01000 | e | 01001 | j | 01010 | k | 01011 | m |

01100 | c | 01101 | p | 01110 | q | 01111 | x |

10000 | o | 10001 | t | 10010 | 1 | 10011 | u |

10100 | w | 10101 | i | 10110 | s | 10111 | z |

11000 | a | 11001 | 3 | 11010 | 4 | 11011 | 5 |

11100 | h | 11101 | 7 | 11110 | 6 | 11111 | 9 |

__Example:__ The final coded message is me

Decryption by z-base-32 begins with a conversion of characters into binary via the lookup table

y | 00000 | b | 00001 | n | 00010 | d | 00011 |
---|---|---|---|---|---|---|---|

r | 00100 | f | 00101 | g | 00110 | 8 | 00111 |

e | 01000 | j | 01001 | k | 01010 | m | 01011 |

c | 01100 | p | 01101 | q | 01110 | x | 01111 |

o | 10000 | t | 10001 | 1 | 10010 | u | 10011 |

w | 10100 | i | 10101 | s | 10110 | z | 10111 |

a | 11000 | 3 | 11001 | 4 | 11010 | 5 | 11011 |

h | 11100 | 7 | 11101 | 6 | 11110 | 9 | 11111 |

__Example:__ The message gc3y corresponds to 00110,01100,11001,00000

The resulting binary code is then interpreted (depending on the encoding used)

__Example:__ 00110011001100100000 corresponds to the ASCII code of the string 32

The message is composed only of alphanumeric characters except 0, l, v and 2.

The number 0 can be confused with o, the letter l is close to the number 1 or even the letter i. Likewise for v which is close to u or r (especially in handwriting), same for 2 which has been excluded because of its written resemblance to z.

dCode retains ownership of the online 'Z-Base-32' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any 'Z-Base-32' algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any 'Z-Base-32' function (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and no data download, script, copy-paste, or API access for 'Z-Base-32' will be for free, same for offline use on PC, tablet, iPhone or Android ! dCode is free and online.

Please, check our dCode Discord community for help requests!

NB: for encrypted messages, test our automatic cipher identifier!

zbase32,zbase,base,32,zooko

Source : https://www.dcode.fr/z-base-32-encoding

© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲
Thanks to your feedback and relevant comments, dCode has developed the best 'Z-Base-32' tool, so feel free to write! Thank you!