我想写一些 ID 用于Crockford 的 base32中的 URL 。我正在使用base32 npm 模块。
因此,例如,如果用户输入http://domain/page/4A2A我希望它映射到与http://domain/page/4a2a相同的基础 ID
这是因为我想要人性化的 URL,用户不必担心大小写字母之间的区别,或者“l”和“1”之间的区别——他们只会得到他们期望的页面。
但我正在努力实现这一点,主要是因为我太模糊了,无法理解编码是如何工作的。首先我试过:
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 映射到同一个东西?