A downside of base58 as implemented by Bitcoin: leading zeros are optional, so there are multiple possible valid encodings of a single address, and addresses don't have a fixed length.
That's a lot better than the typical 'pay this invoice with the exact description' you get from municipalities here where the 'exact description' is a string without spaces and a ridiculous number of leading zeros.