• Base:
  • Character Set:
Encoding Table

Description

This tool implements encoding and decoding for Base16, Base32, Base58, Base62, Base85, and Base91 numeral systems.
Base16 Encoding Table: 0123456789ABCDEF
Base32 Encoding Table: ABCDEFGHIJKLMNOPQRSTUVWXYZ234567
       Base32 uses 32 printable ASCII characters (uppercase letters A-Z and digits 2-7) to encode arbitrary byte data. Base32 groups binary data in sets of 5 bits (since data is transmitted in bytes, which are 8 bits), making the number of bits before segmentation a multiple of 40 (40 being the least common multiple of 5 and 8). If the total bits are not a multiple of 40, "=" is used as padding after encoding (one "=" corresponds to one group of 5 binary bits), resulting in a length that is 8/5 times the original length.
      During Base32 encoding, data is first converted into a binary string and segmented into groups of five. If the number of data bits is not a multiple of 5, it is padded with zeros at the end until it is divisible by 5. Each group of five binary digits is then converted to the corresponding decimal number and looked up in a table to obtain the corresponding character.
      Base32 encoding example: For example, the string "ABC" corresponds to the binary sequence 01000001 01000010 01000011, grouped into 01000 00101 00001 00100 0011 with the last group 0011 less than 5 bits, padded with 0 to become 01000 00101 00001 00100 00110, converted to decimal numbers 8, 5, 1, 4, 6, and looked up in a table to get "IFBEG".
Base58 Encoding Table: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
      Base58 encoding removes some easily confused digits and letters: 0 (digit 0), O (uppercase O), l (lowercase L), I (uppercase I). Base64 uses the method of direct cutting bit (8 ➝ 6), because 256 cannot be divided by 58, Base58 adopts large number base conversion, lower efficiency, and less usage scenario. An ASCII byte can be represented in 8-bit binary as log₂256=8, Base58 can be represented in log₂58≈5.858 bits at most, so the length after Base58 encoding is approximately 8/5.858 times the original data length. Base58 encoding regards binary data as a large integer, continuously divides this large integer by 58, records the remainder, and these remainders correspond to characters in the Base58 character set.
      Base58 encoding example: For example, the string "ABC" corresponds to the binary sequence 01000001 01000010 01000011, converted into the integer 4276803, and then iteratively take the remainder of 58, (4276803/58=73737,4276803%58=57), (73737/58=1271,73737%58=19), (1271/58=21,1271%58=53), (21/58=0,21%58=21), reverse the order of the remainder, resulting in 21, 53, 19, 57, look up the table to get NvLz.
Base62 Encoding Table: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Base64 Encoding Table:ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
The 65th character is the padding character, which defaults to "=" if absent.
Base85 Encoding Table: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
Base91 Encoding Table: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&()*+,./:;<=>?@[]^_`{|}~"