Live data from Hacker News

Show HN: Base24 binary-to-text encoding for humans

kuon.ch

31–40 of 69 posts

Re: Show HN: Base24 binary-to-text encoding for humans

#32
post #4

Microsoft product keys were base-24 with the following alphabet: > B C D F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9 they were 115 bits encoded in 24 characters see also human-oriented base32 encoding: https://philzimmermann.com/docs/human-oriented-base-32-encod... which includes this nice trick: > We have permuted the alphabet to make the more commonly occuring characters also be those that we think are easier to read…

> edit: to add, an interesting human-readable and memorable base52 alphabet that I've never found a use for is to use playing cards

I encountered something similar to this a while ago when watching a multiplayer mod of Ocarina of Time[0]. They use a string of inventory item symbols to denote the identity of the server to connect to. “Hook shot, hook shot, master sword, deku nut” is a whole lot easier to remember than a long string of ascii.

I guess it’d be something like a Base62 encoding.

[0]https://youtu.be/FLjIiVGPo_0

Re: Show HN: Base24 binary-to-text encoding for humans

#33
post #4

Microsoft product keys were base-24 with the following alphabet: > B C D F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9 they were 115 bits encoded in 24 characters see also human-oriented base32 encoding: https://philzimmermann.com/docs/human-oriented-base-32-encod... which includes this nice trick: > We have permuted the alphabet to make the more commonly occuring characters also be those that we think are easier to read…

> We have permuted the alphabet to make the more commonly occuring characters also be those that we think are easier to read, write, speak, and remember.

Basically they removed vowels (except for y, if it counts as one) as non-vowels often include a vowel in their sound. A fact reinforced while teaching my toddler daughter letters, words, and numbers. On top of that, they removed l/1(/i, and also o/0), m/n, s/5, z. Not sure why they removed z. Perhaps because of 2?

I'm not sure this is universal either, sound-wise. I suppose it does count for English. Because 7 ("zeven") and 9 ("negen") in Dutch get confused when spoken, some people say "zeuven" instead of "zeven".

Re: Show HN: Base24 binary-to-text encoding for humans

#34

> The final alphabet I came up with is ZAC2B3EF4NH5TKL7P8RS9WXY. As I required 24 characters, I kept G and 6 which are the least ambiguous in the list. I've read this a dozen times. Isn't OP saying that their character list includes G and 6, which are _not_ present in that list? Update: It appears to be a typo in the article. Here's the real alphabet (N replaced by G and L replaced by 6): ZAC2B3EF4GH5TK67P8RS9WXY htt…

Oh, yes my bad, I will correct the article. I did use G and 6 in the end, I copy pasted one of the other candidate. NL was a try.

Sorry about that.

Re: Show HN: Base24 binary-to-text encoding for humans

#35
post #4

Microsoft product keys were base-24 with the following alphabet: > B C D F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9 they were 115 bits encoded in 24 characters see also human-oriented base32 encoding: https://philzimmermann.com/docs/human-oriented-base-32-encod... which includes this nice trick: > We have permuted the alphabet to make the more commonly occuring characters also be those that we think are easier to read…

It would make all sense to ensure that you don't have B and 8 in the same alphabet. Just as you don't want 1 and I, and 0 and O - pick any one of them, but not both.

Re: Show HN: Base24 binary-to-text encoding for humans

#37
post #23

I really like the super high efficiency at the important multiple-of-4-byte increments. Using 7 base-24 characters to encode 32 bits is 99.7% efficient. However, I'd recommend using 7 base-24 digits followed by a blank as standard output format. This would allow for efficient 8 character 32 bit conversions. Also, I think padding output to a multiple of 7 characters would be good, for similar reasons that it's good fo…

I thought about the comparison bit, and I wanted to go against it.

Ordered, your snippet look like the alphabet with a few missing letters, and isn't searchable on google or anything. I really wanted the alphabet to stand out.

I don't think that it is important that it can be sorted, it is intended for randomly generated keys which by my experience, you won't be sorting.

Re: Show HN: Base24 binary-to-text encoding for humans

#38
post #4

Microsoft product keys were base-24 with the following alphabet: > B C D F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9 they were 115 bits encoded in 24 characters see also human-oriented base32 encoding: https://philzimmermann.com/docs/human-oriented-base-32-encod... which includes this nice trick: > We have permuted the alphabet to make the more commonly occuring characters also be those that we think are easier to read…

Brings me back to the trusty old FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8

I wonder who owns that license. Some people allegedly used this as their password...

Re: Show HN: Base24 binary-to-text encoding for humans

#39
If you consider the scenario of dictating over the phone, letters can be confusing not just because of their written shape. For many non-English speakers, for example, E can be confused with I, and V can be confused with W, unless both sides use the same way of pronouncing them. Look how Microsoft's base24 alphabet (from the other comment) has neither E nor I.

Re: Show HN: Base24 binary-to-text encoding for humans

#40
post #39

If you consider the scenario of dictating over the phone, letters can be confusing not just because of their written shape. For many non-English speakers, for example, E can be confused with I, and V can be confused with W, unless both sides use the same way of pronouncing them. Look how Microsoft's base24 alphabet (from the other comment) has neither E nor I.

That's what the NATO phonetic alphabet is for.
Post reply on HN