为什么URL用Base32编码?

为什么URL用Base32编码?,url,uri,base,base32,Url,Uri,Base,Base32,我想这是一个非常简短的问题,但我不确定我是否理解它的意义 为什么URL用Base32编码?它的好处是什么,缺点是什么 有时需要对URL数据进行编码,以封装不易键入的内容,例如“ÓĆ”,甚至是根本没有文本表示的二进制数据。将其放在查询字符串中是有问题的。一些服务器不理解查询字符串中的Unicode文本,尽管这种情况肯定正在好转 因此,数据需要以某种方式进行编码,以便服务器能够正确解释,并且应用程序知道如何使用。Base32常用于此。它将任何二进制数据编码为该数据的ASCII文本表示形式。当需要原始

我想这是一个非常简短的问题,但我不确定我是否理解它的意义


为什么URL用Base32编码?它的好处是什么,缺点是什么

有时需要对URL数据进行编码,以封装不易键入的内容,例如“ÓĆ”,甚至是根本没有文本表示的二进制数据。将其放在查询字符串中是有问题的。一些服务器不理解查询字符串中的Unicode文本,尽管这种情况肯定正在好转

因此,数据需要以某种方式进行编码,以便服务器能够正确解释,并且应用程序知道如何使用。Base32常用于此。它将任何二进制数据编码为该数据的ASCII文本表示形式。当需要原始数据时,对其进行解码

那么为什么不选择base64呢?Base64几乎总是具有较短的编码长度。Base64的缺点是它同时使用大写和小写字母进行编码。
a
a
之间有区别。而Base32只使用一个字母的大小写,因此它可以不区分大小写。通常(但并非总是),URL不区分大小写,使用Base32可以保持这种概念的活力。当编码数据需要输入、读出等时,这种区别很有用


Base32的缺点是,由于字符集小得多,因此产生的编码几乎总是较长。

我重新编写了您的问题-我希望这就是您所说的“URL ID”的意思?是的。虽然例如tinyurl只做它的ID,但我不确定,我认为它是合乎逻辑的。youtube的视频链接使用这种方法吗?如果是这样,他们如何保持字符串id的固定长度?