Crockford の base32 のURL で使用する ID を書きたいと思います。base32 npm モジュールを使用しています。
したがって、たとえば、ユーザーがhttp://domain/page/4A2A と入力した場合、 http://domain/page/4a2aと同じ基礎となる ID にマップしたいと思います。
これは、ユーザーが大文字と小文字の違い、または "l" と "1" の違いを気にする必要がなく、ユーザーが期待するページを取得するだけの、人間に優しい URL が必要だからです。
しかし、基本的にエンコーディングがどのように機能するかを理解するにはあまりにも薄暗いため、これを実装するのに苦労しています。最初に試しました:
var encoded1 = base32.encode('4a2a');
var encoded2 = base32.encode('4A2A');
console.log(encoded1, encoded2);
ただし、それらは異なる基になる ID にマップされます。
6hgk4r8 6h0k4g8
よし、多分私はデコードを使用する必要がありますか?
var encoded1 = base32.decode('4a2a');
var encoded2 = base32.decode('4A2A');
console.log(encoded1, encoded2);
いいえ、それは私に空の文字列を与えるだけです:
" "
4A2A と 4A2A を同じものにマップするにはどうすればよいですか?