Какой тип идентификатора YouTube использует для своих видео? - PullRequest
12 голосов
/ 06 мая 2009

Мне любопытно, какой тип идентификатора YouTube использует для идентификации своих видео? Похоже, это идентификаторы того же типа, которые используются для коротких ссылок на сайтах, таких как Digg и Bit.ly.

Ответы [ 4 ]

26 голосов
/ 28 октября 2009

Это модифицированная base64, как догадался Измаил. Обычный Base64 - это [a-zA-Z0-9 \ + \ /] [=] *. То есть числа содержат A-Z, a-z, 0-9, + или / и дополняются 0, 1 или 2 "=" в конце. YouTube, похоже, пропускает заполнение (например, UTF-7 Base64 для MIME), и поскольку + и / создают проблемы для URL-адресов, - и _ заменяются соответственно.

Следовательно, идентификатор YouTube должен совпадать с REGEXP: / [a-zA-Z0-9 \ -_] + / или / [\ w \ -] + / (они эквивалентны, поскольку \ w - это [A-Za -z0-9 _])

Я использую это в динамической реализации загрузчика YouTube SWFObject, и она отлично работает. Я видел оба - и _ в идентификаторах YouTube, но ни в одном другом алфавитно-цифровом символе. Больше информации Base64 можно найти в Википедии: URL-приложения Base64

Удачи!

5 голосов
/ 06 мая 2009

Вероятно, это модифицированное представление GUID в Base 64. (Реализация Common Base 64 включает в себя проблемные символы для URL).

3 голосов
/ 06 мая 2009

Они используют этот идентификатор, чтобы запретить людям заниматься фермерством / рассылать спам, просто увеличив число.

1 голос
/ 17 июня 2009

Я видел по крайней мере один с подчеркиванием "_" в миксе. Что меня удивило ... так как я принял то же регулярное выражение, что и Писквор ... до сих пор ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...