Tool for decoding / encoding in Base32 according to RFC 4648. Base 32 is a variant of Base64 which uses letters and numbers from 2 to 7 (and =) as basic symbols.

Base32 - 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*!

The **Base32** code is described in RFC 4648 standard. It allows to encode with 32 characters:

ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 and the = symbol optionally used as the final character (as in Base64).

The message to be encoded is first treated as a binary string (according to a predefined encoding such as ASCII or Unicode).

__Example:__ Base is encoded in ASCII (8-bit) 01000010,01100001,01110011,01100101

The string is then split every 5 bits, and optionally completed with 0s.

__Example:__ The split gives the 32 bits 01000,01001,10000,10111,00110,11001,01 (three 0 needed at the end)

Each 5-tuple is then encoded in **base 32** by the letter or the corresponding number according to the conversion table:

Binary | Decimal | Base32 |
---|---|---|

00000 | 0 | A |

00001 | 1 | B |

00010 | 2 | C |

00011 | 3 | D |

00100 | 4 | E |

00101 | 5 | F |

00110 | 6 | G |

00111 | 7 | H |

01000 | 8 | I |

01001 | 9 | J |

01010 | 10 | K |

01011 | 11 | L |

01100 | 12 | M |

01101 | 13 | N |

01110 | 14 | O |

01111 | 15 | P |

10000 | 16 | Q |

10001 | 17 | R |

10010 | 18 | S |

10011 | 19 | T |

10100 | 20 | U |

10101 | 21 | V |

10110 | 22 | W |

10111 | 23 | X |

11000 | 24 | Y |

11001 | 25 | Z |

11010 | 26 | 2 |

11011 | 27 | 3 |

11100 | 28 | 4 |

11101 | 29 | 5 |

11110 | 30 | 6 |

11111 | 31 | 7 |

__Example:__ 01000 for I, 01001 for J, and so on. Until IJQXGZI

The standard indicates that the **Base32** message must have a number of characters multiple of 8. The message obtained must therefore be completed with the character = (padding char).

__Example:__ Finally, the message Base is **base32**-encoded IJQXGZI=

The **Base32** decoding is similar to a mathematical base change.

__Example:__ Decode the message INXWIZI= coded in **Base 32**

Delete the final = of the encoded message.

__Example:__ INXWIZI= becomes INXWIZI

Replace each character with its 5-bit value (cf conversion table) to create a binary string.

__Example:__ I for 01000, N for 01101, etc. Until 01000,01101,10111,10110,01000,11001,01000

Read the binary string according to the encoding used (ASCII, Unicode, etc.)

__Example:__ The message is divided into bytes (8-bits) as follows: 01000011,01101111,01100100,01100101 (the last string composed of 0 is ignored), which corresponds to ASCII (or Unicode) string Code

A B32-encoded message

- is composed only of the characters 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 =' (no 0,1,8,9)

- theoretically has a number of character multiple of 8.

- ends with 0,1,3,4 or 6 characters = (equal).

- has a length greater than 40 to 60% of the original message

The digit 0 is avoided not to be confused with the letter O, and the number 1 is also avoided for its resemblance to the letter I.

**Base32** is similar to the Base64 which is much more commmonly used.

The zbase32 code is a **Base32** variant wanting to be more human-readable and writtable.

The mathematical basis 32 (or base32hex) is the most natural version for writing numbers in **base 32** and uses the symbols 0123456789abcdefghijklmnopqrstuv

dCode retains ownership of the online 'Base32' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any 'Base32' algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any 'Base32' 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 'Base32' 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!

base32,base,32,base64,encoding,equal

Source : https://www.dcode.fr/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 'Base32' tool, so feel free to write! Thank you!