3

reddit が記事 ID に base36 を使用するのはなぜですか?

例えば:

a2xki

4

4 に答える 4

16

おそらく理由:

Base 36 は... ASCII 文字を使用した、大文字と小文字を区別しない最もコンパクトな英数字システムです。

英数字のみを使用し、大文字と小文字を区別しないことにより、2 種類のエラーが発生しなくなります: 間違った大文字の入力 (またはファイルシステムの問題と大文字と小文字の区別による混乱)、および URL の特殊文字です。RFC 2396に従って予約されている文字が URL に含まれている場合、それらの文字はエスケープする必要があります (URL が長くなり、見苦しくなります)。しかし、さまざまなアプリケーション レベルのバグでは、 や望ましくないなどの予約されていない文字も使用されます (例: 1 2 3 )。'!

英数字と大文字と小文字を区別する制限があっても、基数 36 は明らかに 10 進数よりもはるかにコンパクトな表現を提供し、短く (ほぼ間違いなく) きれいに見える ID を可能にします。この記事の ID は10 進数で 36351705 になります。ベース 36 で表すと、3 文字少なくなります。

于 2009-11-11T04:13:17.027 に答える
5

2 番目の Just Some Guy ([a-z0-9] で表すことができます)、また、

  1. このスキームは、非常に短い ID を生成する必要があります。
  2. これらの ID を使用して、ディスク構造上に簡単に作成できます。
  3. データベースなどを検索するために数値 ID に変換するのは簡単です。
于 2009-11-11T04:16:54.943 に答える
2

電子メール、口頭、チャット ウィンドウなどで他の人に簡単に伝えることができます。URL は確かにより多くの文字を使用できますが、特に電話、ビデオ、テレビ、または印刷された記事や新聞から入力することさえできます。

とても人に優しいです。

于 2009-11-11T04:19:55.803 に答える
1

[a-z0-9] で表すことができるので、おそらく。

于 2009-11-11T04:10:38.287 に答える