Чи гарантовано, що коди YouTube завжди матимуть 11 символів?


18

Я пишу код для перевірки URL-адрес YouTube. Чи гарантується, що ідентифікатор відео, наприклад oHg5SJYRHA0, завжди має рівно 11 символів, чи може іноді бути коротшим чи довшим? Чи є офіційна документація з цього приводу?


Принаймні до 5,20е + 19 відеороликів;)

@ Джейсон чорт ти! який калькулятор ви використовуєте!

2
Макс. комбінація в 11 символів здається великою кількістю, але це, мабуть, не буде заново через кілька років, оскільки кількість завантажених відео на YouTube зростає експоненціально ... Тож НЕ розраховуйте на це, якщо ви створюєте не для одного - рік веб-сайтів.
jave.web

@ jave.web Ви спізнилися на вечірку. Я просив авторитетних джерел, а не для того, щоб хтось сперечався, чи 64 ^ 11 - це велика кількість. Можуть бути й інші причини того, що деякі відео-коди можуть бути іншого формату, ніж їх не вистачає. Наприклад, можуть бути застарілі відео зі скороченими кодами або відеозаписи, які зберігаються в окремій системі, цілком інший формат коду. Прийнята відповідь містить найавторитетнішу відповідь, яку я бачив досі.
nitro2k01

мій коментар досі застосовується, особливо в 2014 році, і просто підтримує прийняту відповідь;)
jave.web

Відповіді:


20

Вони, ймовірно, довго дотримуватимуться 11 символів. Кожен символ має 64 можливі значення:

2 * 26 літер (малі та великі літери) + 10 для цифр, + 2 для знаків «_» та «-»

2 * 26 + 10 + 2 = 64

Тоді 11 символів:

64 ^ 11 = 73786976294838210000 (або більше або менше "73,7e18")

Звичайно, не всі комбінації будуть використані, залежно від їх алгоритму, але вони, ймовірно, не збираються змінити це незабаром. Слова розробника YouTube стверджують, що вони не гарантують:

Я не бачу ніде в документації, де ми офіційно зобов'язуємося до стандартної довжини 11 символів для відео-ідентифікаторів YouTube. Це одна з тих речей, де ми маємо поточну реалізацію, і це може залишатися таким нескінченно. Але ми не пропонуємо жодних офіційних зобов’язань щодо цього, тому дійте на свій страх і ризик.

Кращим підходом, хоч і тим, хто займається більше, було б взяти кожен ідентифікатор відео та подати запит до API YouTube, щоб перевірити, чи він дійсний. Наприклад, зробити HTTP GET для

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

і подивіться, чи отримаєте ви відповідь HTTP 200. Звичайно, якщо ви скористаєтесь таким підходом, відео, вилучені з YouTube, повернуться як недійсні (які можуть бути або не бути такими, які ви хочете), а відео, недавно завантажені на YouTube, також можуть повернутися як недійсні.

Ура, -Джеф Познік, команда API YouTube

Джерело: 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

4

Щось варто зазначити, пара URL-адрес вказує на одне відео. Наприклад, у відеороликах, розміщених нижче, усі вони "Нобелівські премії за 2015 рік!" від Scishow:

Крім того, якщо ви змінили останнього символу на той Cчи Dінший, він також буде працювати.


1
Можливо, ви знайшли недолік. Мабуть, кожне відео має принаймні 4 URL-адреси. У випадку, коли ви згадуєте A, B, C і D, усі вказують на A. Також E, F, G і H вказують на E; Я, J, K і L вказую на I. І так далі. І це справедливо для кожного тестуваного відео.
JP de la Torre

Здається, це більше не стосується розміщення цього коментаря.
nitro2k01

-2

Так, вони завжди мають 11 символів.


3
Чи маєте ви якусь інформацію, щоб підтвердити це?
але
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.