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 "Z-Base-32" source code. Except explicit open source licence (indicated Creative Commons / free), the "Z-Base-32" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Z-Base-32" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Z-Base-32" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!
Reminder : dCode is free to use.
The copy-paste of the page "Z-Base-32" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!
Exporting results as a .csv or .txt file is free by clicking on the export icon
Cite as source (bibliography):
Z-Base-32 on dCode.fr [online website], retrieved on 2024-12-21,