Base 32 Decoder online tool for Decoding data in base32 to text or plaintext strings. It basically does is decode arbitrary binary data in ASCII text.
Base32 is a transfer encoding is character set or encoding schemes that uses the 26 uppercase letters (A-Z) and the digits (2-7) and equal sign(=) as padding, as per the encoding scheme is defined in RFC 4648.
Here two digits 0 and 1 are not considered because of their similarity with the letters O and I. Which can be helpful when dealing with case-insensitive filesystems or any spoken language.
Base32 encoding schemes use the 26 uppercase letters A–Z, and the digits 2–7.
Here 0 and 1 are skipped due to their similarity with the letters O and I.
Let's Understand it with an Example:
Let's base32 encode the word "Cat",
Cat in ASCII decimal values =
[67, 97, 116]
Cat in binary format =
[01000011, 01100001, 01110100]
Steps to Encode String to Base32:
Convert an input byte stream into a group of 5 bytes. If there are less than 5 bytes, at the end, add additional empty bytes.
Group = [01000011, 01100001, 01110100, xxxxxxxx, xxxxxxxx]
Divide this group into 8 chunks of 5 bits.
Chunks = [01000, 01101, 10000, 10111, 0100x, xxxxx, xxxxx, xxxxx]
If a chunk has both actual bits and empty bits, replace the remainings empty bits with all 0’s.
Chunks = [01000, 01101, 10000, 10111, 01000, xxxxx, xxxxx, xxxxx]
Convert each 5 bits chunk to its decimal value (0-31) (refer the table). If a 5 bits chunk contains empty bits replace with character ‘=’.
Chunks = [8, 13, 16, 23, 8, =, =, =]
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 |
In the base32 symbol chart, map each decimal value to its corresponding character.
Chunks = [I, N, Q, X, I, =, =, =]
At finally, The word “Cat” base32 encoded value is "INQXI===".
Note that the Base32 Encoding process is just reverse of above proces.
A Base32 encoded message or data,