abandoned idea: base80 asciilification #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements a base80 symbol set using a 41/32 encoding.
After implementing this, I realized my original math was incorrect:
(256^32 / 80^41)
means only 10.89% of the possible 41-character base80 values are used for a given 32-byte input. I did more math, and came up with this table for all idealized baseN encoding schemes between 64 and 85, for all <=256-bit encodings:base75 at seems like a clear winner:
Note base66 is not present in this table--despite the additional 2 symbols, it doesn't actually have more possible values than base64 in a 4/3 encoding scheme.