ImaArchive uses different number bases in order to compress the number of characters needed to store a number. For example, in order to store 999999 in decimal you need 6 digits, in Base32 you will only need 4 digits up to a maximum of 1048576, in Base64 you will still need 4 digits but the maximum number that you could store with 4 digits in base64 is 16777216.
The down side is it is more difficult to read. Base32 is a good compromise.
Base64
One problem with Base64 is some characters can look alike for example upper case o and zero.
The common use for Base64 is for encoding binary. For example to send data across a network, you generally don't do it by just streaming over the internet in a raw binary format because some media are made for streaming text, so in raw format would be corrupted.
Base64 uses numbers ‘A' to '/' these are as follows starting with zero '0’ and ending with 63.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
##Base64 In common use we use the decimal system, numbers 0 to 9. binary numbers are numbers 0 and 1. Base64 uses numbers 'A' to '/' for example, the number 127 in decimal is 1111111 in binary and "B/" in Base64. The common use for Base64 is for encoding binary. For example to send data across a network, you generally don't do it by just streaming the bits and bytes over the wire in a raw format. Why? because some media are made for streaming text. You never know some protocols may interpret your binary data as control characters (like a modem), or your binary data could be corrupted because the underlying protocol might think that you've entered a special character combination (like how FTP translates line endings).
So to get around this, people encode the binary data into characters. Base64 is one of these types of encodings. Why 64? Because you can generally rely on the same 64 characters being present in many character sets, and you can be reasonably confident that your data's going to end up on the other side of the wire uncorrupted. In this case Simple Image Archive uses Base64 to encode the MD5 and CRC checksums into a short character string. This string is more robust and shorter than using decimal numbers.
Base32
ABCDEFGHIJKLMNOPQRSTUVWXYZ234567