YouTube代码是否保证始终为11个字符?


18

我正在编写代码以验证YouTube网址。是否可以确保视频ID(例如 oHg5SJYRHA0)始终正好是11个字符,还是有时会更短或更长时间?是否有关于此的官方文件?


至少制作出5.20e + 19视频;)

@Jason该死的你!您正在使用什么计算器!

2
最高 11个字符的组合似乎是一个很大的数目,但由于上载的youtube视频的数量呈指数级增长,因此几年后可能不会笑起来。因此如果您创建的不是一对一,就不要指望年网站。
jave.web 2014年

@ jave.web您迟到聚会了。我在问权威来源,而不是问有人争论64 ^ 11是否很大。可能还有其他原因,某些视频代码的格式可能会与用完它们不同。例如,可能存在具有较短代码的传统视频,或者存在完全以不同代码格式存储在单独系统中的视频。接受的答案包含到目前为止我看到的最权威的答案。
nitro2k01 2014年

我的评论仍然适用,尤其是在2014年,并且仅支持接受的答案;)
jave.web 2014年

Answers:


20

他们可能会长时间坚持使用11个字符。每个字符都有64个可能的值:

2 * 26个字母(小写和大写)+ 10个数字,+ 2个“ _”和“-”字符

2 * 26 + 10 + 2 = 64

然后总共11个字符:

64 ^ 11 = 73786976294838210000(或多或少的“ 73,7e18”)

当然,并非所有组合都将使用,这取决于其算法,但是他们可能不会很快改变它。YouTube开发者的话说,他们不能保证,但是:

我没有在文档中看到我们正式承诺将YouTube视频ID的标准长度限制为11个字符的任何地方。这是我们当前有实现的事情之一,并且可能会无限期地保持下去。但是我们没有为此提供任何官方承诺,因此风险自负。

一种更好的方法(尽管涉及更多)是获取每个视频ID并向YouTube API发出请求,以查看其是否有效。例如,进行HTTP GET到

http://gdata.youtube.com/feeds/api/videos/VIDEO_ID

并查看是否返回HTTP 200响应。当然,如果您采用这种方法,那么从YouTube删除的视频将恢复为无效(可能是您想要的,也可能不是您想要的),而最近上传到YouTube的视频也可能会恢复为无效。

干杯-YouTube API小组-Jeff Posnick

来源:https//web.archive.org/web/20120306111051/http//osdir.com/ml/youtube-api-gdata/2009-10/msg00237.html


1
@Diego:如果您要引用太多数字,则还可以显示最后几位:64 ^ 11 = 2 ^ 66 = 73,786,976,294,838,206,464四舍五入为0.5,四舍五入后的工程形式为73.787e18。

我同意@ user60228,除非您显示完整的准确性或详细信息,否则请不要显示完整的数字。知道完整的数学真相对我们中的某些人很有趣。(PS很好的答案!)
Xonatron 2015年

4

值得指出的是,几个URL指向同一视频。例如,在下面发布的视频中,它们都是“ 2015年诺贝尔奖!” 通过Scishow:

另外,如果将最后一个字符更改为CD也可以。


1
您可能发现了一个缺陷。显然,每个视频至少具有4个网址。在您提到A,B,C和D的情况下,它们全都指向A。此外,E,F,G和H都指向E。I,J,K和L指向I。依此类推。我测试的每个视频都是如此。
JP de la Torre

发布此评论时似乎不再如此。
nitro2k01

-2

是的,他们始终有11个字符。


3
您有任何信息可以备份吗?
ale
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.