YouTube 视频 ID 算法

问题描述 投票:0回答:1

如何使用 JavaScript 创建视频 ID? 我想制作一个为用户提供随机视频的网站,但同时对我来说,我想了解什么是 YouTube 视频 ID 算法

javascript algorithm youtube generator
1个回答
1
投票

以这种方式布置的过程很简单:

  1. 生成随机无符号64位ID号
  2. 检查ID是否已存在;如果是这样,请重复 (1)
  3. 通过分割成 8 位块来生成 ID 的 Base64 字符串
  4. /
    替换为
    -
    。将
    +
    替换为
    _
    。删除
    =
    (如果存在)

这是一个简单的 JS 实现,尽管它不执行任何检查(通常在服务器端完成):

function yt_rand_id() {
let chars2replace = {'/': '-', '+': '_', '=': ''};
let random_bytes = new Uint8Array(8).map(() => Math.floor(Math.random() * 256))
let base64_hash = btoa(String.fromCharCode.apply(0, random_bytes));
base64_hash = base64_hash.replace(/[/+=]/g, match => chars2replace[match]);
return base64_hash;
}

console.log(yt_rand_id(), yt_rand_id(), yt_rand_id(), yt_rand_id());

希望这对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.