【发布时间】:2009-05-06 16:51:37
【问题描述】:
我很好奇 youtube 使用什么类型的 ID 来识别他们的视频?它们似乎与 Digg 和 Bit.ly 等网站上用于短网址的 ID 类型相同。
【问题讨论】:
标签: youtube
我很好奇 youtube 使用什么类型的 ID 来识别他们的视频?它们似乎与 Digg 和 Bit.ly 等网站上用于短网址的 ID 类型相同。
【问题讨论】:
标签: youtube
正如 Ishmael 猜测的那样,它是经过修改的 base64。正常 Base64 是 [a-zA-Z0-9\+\/][=]*。也就是说,数字包含 A-Z、a-z、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 上找到:URL applications of Base64
祝你好运!
【讨论】:
它可能是 GUID 的修改后的 Base 64 表示。 (常见的 Base 64 实现包括 URL 的问题字符)。
【讨论】:
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 表示的最后 2 段),它是 8 个字节,给出 11char base64 表示(url-safe 变体)
他们使用此 ID 来防止人们通过简单地增加一个数字来种植/发送垃圾视频。
【讨论】:
我见过至少有一个带有“_”下划线的组合。这让我感到惊讶......因为我一直假设与 Piskvor 相同的正则表达式......直到现在......
【讨论】: