[Bitcoin-development] Providing Payment Request within URI

Andreas Schildbach andreas at schildbach.de
Thu Feb 26 12:11:48 UTC 2015

On 02/26/2015 12:14 PM, Oleg Andreev wrote:
>> Base43 is the same as any BaseX standard, but using a different alphabet
>> (43 characters). It's meant to be used for efficiently storing binary
>> data into QR codes. The alphabet is picked to match the 'Alphanumeric'
>> input mode of QR codes as closely as possible, but at the same time be
>> allowed in URIs.
> Does it mean Base58 or Base64 take more space in QR code than Base43? Do you have an estimate of the gains? 

Both Base58 and Base64 force QR codes into binary encoding. Base64 can
take 6 bits per char, binary of course has 8 bits per char. So you're
wasting 25% of space if you use Base64, a little bit more with Base58.

Base43 takes log2(43) = 5.43 bits per char, while each char uses up 5.5
bits in QR codes in 'Alphanumeric' encoding. So that's a waste of 1.3%.

Source for QR code standard: http://en.wikipedia.org/wiki/QR_code

More information about the bitcoin-dev mailing list