12

我很好奇 youtube 使用什么类型的 ID 来识别他们的视频?它们似乎与 Digg 和 Bit.ly 等网站上用于短网址的 ID 类型相同。

4

4 回答 4

33

正如 Ishmael 猜测的那样,它是经过修改的 base64。正常 Base64 是 [a-zA-Z0-9\+\/][=]*。也就是说,数字包含 AZ、az、0-9、+ 或 /,并在末尾用 0、1 或 2“=”填充。YouTube 似乎跳过了填充(如 MIME 的 UTF-7 Base64),并且由于 URL 的 + 和 / 造成问题, - 和 _ 分别被替换。

因此,YouTube ID 应匹配 REGEXP:/[a-zA-Z0-9\-_]+/ 或 /[\w\-]+/(它们是等价的,因为 \w 是 [A-Za-z0- 9_])

我在动态 YouTube SWFObject 加载器实现中使用它,它工作正常。我在 YouTube ID 中观察到 - 和 _,但从未观察到任何其他非字母数字字符。更多 Base64 信息可以在 Wikipedia 上找到:Base64 的 URL 应用

祝你好运!

于 2009-10-28T17:21:19.150 回答
5

它可能是 GUID 的修改后的 Base 64 表示。(通用 Base 64 实现包括 URL 的问题字符)。

于 2009-05-06T17:24:09.903 回答
3

他们使用此 ID 来防止人们通过简单地增加一个数字来种植/发送垃圾视频。

于 2009-05-06T17:04:08.033 回答
1

我已经看到至少有一个带有“_”下划线的组合。这让我感到惊讶......因为我一直假设与 Piskvor 相同的正则表达式......直到现在......

于 2009-06-16T21:54:38.587 回答