Re:Type-safe, K-sortable, globally unique identifier inspire...
by unshavedyak on Thursday June 29, 2023 @10:09AM
(#36520553)
Is that "just" a performance concern though? Ie why is there a base58 and base62 but no base63?
Now you've got me curious on the performance of base58 to base64 hah. Down the rabbit hole i go. Appreciate your reply, thanks :)
Yes, the reason is that you need 64 characters if you want each character to encode 6 bits as log2(64) == 6. If you only have 63 characters in your alphabet then one of your 6-bit combinations has no character to represent it.
Base32 can represent 5 bits per character because log2(32) == 5. Anything in between 32 and 64 doesn't buy you anything because there is no integer between 5 and 6.