Live data from Hacker News

How does Base32 (or any Base2^n) work exactly?

ptrchm.com

11–20 of 46 posts

Re: How does Base32 (or any Base2^n) work exactly?

#11
post #3

A few other bases that are interesting: Base36: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ Good encoding for binary data in textual contexts. Such as where you have parameter inputs or database fields that are constrained and only accept certain characters. The lack of spaces means that it can be used on the command-line easily. Example use: IRC channel names. Base64: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs…

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

So.. crockford32 mentioned in the article?

Re: How does Base32 (or any Base2^n) work exactly?

#12
post #3

A few other bases that are interesting: Base36: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ Good encoding for binary data in textual contexts. Such as where you have parameter inputs or database fields that are constrained and only accept certain characters. The lack of spaces means that it can be used on the command-line easily. Example use: IRC channel names. Base64: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs…

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

That's Crockford Base32, not RFC Base32

https://en.m.wikipedia.org/wiki/Base32

Re: How does Base32 (or any Base2^n) work exactly?

#13
post #3

A few other bases that are interesting: Base36: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ Good encoding for binary data in textual contexts. Such as where you have parameter inputs or database fields that are constrained and only accept certain characters. The lack of spaces means that it can be used on the command-line easily. Example use: IRC channel names. Base64: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs…

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

Do we really expect humans to read baseX encodings directly to make it worth to have ambiguity checks?

Re: How does Base32 (or any Base2^n) work exactly?

#14

Earlier quoted context omitted.

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

Do we really expect humans to read baseX encodings directly to make it worth to have ambiguity checks?

Sometimes. Imagine if this is being used to generate something like a DOI or other catalog number for some data or physical artifact. As research scales up, the size of these identifiers also benefits from a more compact encoding.

These kinds of IDs might be printed in a research paper (perhaps in a figure caption or bibliography/reference entry). Then, someone might be reading this from a printed copy of the paper rather than a PDF with a link in it.

Or, researchers might be verbally referencing a particular item during some meeting. It might be recognizable among some peers actively working with the same artifacts, but might also need to be typed back into some search form to get back to online metadata etc.

Another place the same identifier might be is on a printed label for physical artifacts in an archive. Of course, you might also want something like a 2D barcode for scanning, but it is helpful to have something human readable.

Re: How does Base32 (or any Base2^n) work exactly?

#15
post #3

A few other bases that are interesting: Base36: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ Good encoding for binary data in textual contexts. Such as where you have parameter inputs or database fields that are constrained and only accept certain characters. The lack of spaces means that it can be used on the command-line easily. Example use: IRC channel names. Base64: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrs…

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

Removing characters for obscenity is pointless (thousands way to evade this "filter"), english-centric and honestly a weird idea.

I've always heard that the reason in another ambiguity (u/v) which makes more sense to me.

Re: How does Base32 (or any Base2^n) work exactly?

#17
post #12

Earlier quoted context omitted.

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

That's Crockford Base32, not RFC Base32 https://en.m.wikipedia.org/wiki/Base32

Crockford is a bit different, and normalizes I/1/O/0 on parsing.

Re: How does Base32 (or any Base2^n) work exactly?

#19

Earlier quoted context omitted.

> base36 textual contexts Better IMO is base 32 with U (obscenity), 0/O (ambiguity), and I (ambiguity) removed.

Removing characters for obscenity is pointless (thousands way to evade this "filter"), english-centric and honestly a weird idea. I've always heard that the reason in another ambiguity (u/v) which makes more sense to me.

Base64/Base32/ASCII is English-centric.

Might be weird to you personally, but there's literally government agencies to prevent obscenities.

Re: How does Base32 (or any Base2^n) work exactly?

#20

I’m a big fan of base58 + almost as efficient as base64 + no special characters + no padding characters

Base64 doesn't need padding so that one's easy.

No special characters... I mean it's true, but there's not many places I'm worried about inability to mix in some - and _.

Base58 also avoids a couple confusable characters, but that only matters when copying by hand, and if I'm copying by hand I'd rather use base32.

Post reply on HN