每个YouTube视频都有两个链接

时间:2016-03-01 19:18:39

标签: youtube

我尝试过播放YouTube视频网址,发现每个视频都有两个链接,例如

假设视频具有以下链接

https://www.youtube.com/watch?v=YykjpeuMNEk

现在我更改了链接的最后一个字母

https://www.youtube.com/watch?v=YykjpeuMNEl

尝试两个链接都会打开一个视频。

逻辑是用连续的字母改变最后一个字母,字母区分大小写。

所以如果最后一个字母是' a'将其更改为' b',如果' A'将其更改为' B',如果' 1'将其更改为' 2'。

有人可以解释一下这种情况会发生什么吗?

1 个答案:

答案 0 :(得分:1)

这是因为YouTube ID使用Base64的变体,每个Base64字符都是纯ASCII,这意味着它只提供6位,最终解码的字节值是8位的倍数。这不可避免地最终不能完全匹配,除非特别用额外的结束字符表示,否则这些最低位中的一些根本没有意义。

YouTube ID:6位* 11 = 66位。

给定数据似乎表明YouTube视频ID实际上是转换为Base64的64位数字。由于我们有66位,只需要64位,这意味着最后2位被忽略。

实际应用时,这似乎完全为真。

YykjpeuMNEk => k = 1101011

如果我们只是忽略那里的最后2位,那么我们看到k实际上是最高值(以11结束),而其他的将是较低的值,即h,i和j;分别为1101000,1101001和1101010.相反,他们是l,m和n。

这可能仅仅是由于最终值被处理为64位数字的方式。这个理论仍然适用;尽管是66位Base64字符串,但YouTube ID最高可达64位。

意思是,每个YouTube网址都没有两个,但事实上四个 ID与之匹配。