Sind YouTube-Codes garantiert immer 11 Zeichen lang?

18

Ich schreibe Code, um YouTube-URLs zu validieren. Ist garantiert, dass die Video-ID, wie zum Beispiel oHg5SJYRHA0, immer genau 11 Zeichen lang ist, oder kann sie manchmal kürzer oder länger sein? Gibt es dazu offizielle Unterlagen?

nitro2k01
quelle
Mindestens bis 5.20e + 19 Videos gemacht werden;)
@ Jason verdammt du! Welchen Rechner benutzt du?
2
Die max. Kombination in 11 Zeichen scheint wie eine große Zahl, aber es wont't in einigen Jahren wahrscheinlich enaugh sein , da die Anzahl der hochgeladenen YouTube - Videos exponentialy wächst ... also nicht auf sie verlassen , dass , wenn Sie nicht-für-ein- schaffen Jahr Websites.
jave.web
@ jave.web Du bist zu spät zur Party. Ich habe nach maßgeblichen Quellen gefragt, nicht nach Argumenten, ob 64 ^ 11 eine große Zahl ist. Es kann auch andere Gründe geben, warum einige Videocodes ein anderes Format haben als sie. Es kann zum Beispiel Legacy-Videos mit kürzeren Codes geben oder Videos, die in einem separaten System mit einem völlig anderen Code-Format gespeichert sind. Die akzeptierte Antwort enthält die maßgeblichste Antwort, die ich bisher gesehen habe.
Nitro2k01
Mein Kommentar gilt immer noch, vor allem im Jahr 2014, und unterstützt nur die akzeptierte Antwort;)
jave.web

Antworten:

20

Sie werden wahrscheinlich für eine lange Zeit bei 11 Zeichen bleiben. Jedes Zeichen hat 64 mögliche Werte:

2 * 26 Buchstaben (Klein- und Großbuchstaben) + 10 für die Ziffern, + 2 für "_" und "-" Zeichen

2 * 26 + 10 + 2 = 64

Dann insgesamt 11 Zeichen:

64 ^ 11 = 73786976294838210000 (oder mehr oder weniger "73,7e18")

Natürlich werden nicht alle Kombinationen verwendet, abhängig von ihrem Algorithmus, aber sie werden es wahrscheinlich nicht so bald ändern. Aus Worten eines YouTube-Entwicklers geht jedoch hervor, dass sie nicht garantieren:

Ich sehe nirgendwo in der Dokumentation, wo wir offiziell eine Standardlänge von 11 Zeichen für YouTube-Video-IDs festlegen. Es ist eines der Dinge, bei denen wir eine aktuelle Implementierung haben, und dies kann auf unbestimmte Zeit so bleiben. Wir bieten jedoch keine offizielle Verpflichtung dazu an. Gehen Sie daher auf eigenes Risiko vor.

Ein besserer Ansatz ist es, jede Video-ID zu verwenden und eine Anfrage an die YouTube-API zu senden, um zu prüfen, ob sie gültig ist. ZB machen Sie ein HTTP GET zu

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

und prüfen Sie, ob Sie eine HTTP 200-Antwort erhalten. Wenn Sie diesen Ansatz wählen, werden Videos, die von YouTube entfernt wurden, als ungültig zurückgegeben (was möglicherweise nicht Ihren Wünschen entspricht), und Videos, die erst kürzlich auf YouTube hochgeladen wurden, werden möglicherweise ebenfalls als ungültig zurückgegeben.

Prost, -Jeff Posnick, YouTube API-Team

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

Vidar S. Ramdal
quelle
1
@Diego: Wenn Sie so viele Ziffern zitieren, können Sie auch die letzten Ziffern anzeigen: 64 ^ 11 = 2 ^ 66 = 73,786,976,294,838,206,464 Bei einer Rundung von 0,5 lautet die technische Form 73,787e18.
Ich bin mit @ user60228 einverstanden und zeige keine vollständigen Ziffern, es sei denn, Sie zeigen die vollständige Genauigkeit oder andere Details. Nur interessant für einige von uns, die volle mathematische Wahrheit zu kennen. (PS Tolle Antwort!)
Xonatron
4

Einige der URLs verweisen auf dasselbe Video. In den unten aufgeführten Videos handelt es sich beispielsweise um "Die Nobelpreise 2015!" von Scishow:

Auch, wenn Sie auf das letzte Zeichen ändern Coder Ddas wird auch funktionieren.

Criticofus
quelle
1
Möglicherweise haben Sie einen Fehler gefunden. Anscheinend hat jedes Video mindestens 4 URLs. In dem Fall, in dem Sie A, B, C und D erwähnen, zeigen alle auf A. Auch zeigen E, F, G und H auf E; I, J, K und L zeigen auf I. Und so weiter. Und das gilt für jedes Video, das ich getestet habe.
JP de la Torre
Dies scheint ab dem Posten dieses Kommentars nicht mehr der Fall zu sein.
Nitro2k01
-2

Ja, sie haben immer 11 Zeichen.


quelle
3
Haben Sie irgendwelche Informationen, um das zu sichern?
Ale