返回提交历史
Modified
docs/other/bvid_desc.md
+5
-2
XFEstudio/bilibili-API-collect
添加Rust版本bvid算法示例
dc5c527
代码差异
1 个文件
+5
-2
@@ -405,7 +405,7 @@ const POW58: [u64; 10] = [
405
405
2207984167552, 128063081718016, 7427658739644928,
406
406
];
407
407
408
pub fn av2bv(avid: u64) -> [u8; 10] {
408
fn av2bv(avid: u64) -> [u8; 10] {
409
409
let a = (avid ^ XORN) + ADDN;
410
410
let mut bvid = [0; 10];
411
411
for i in 0..10 {
@@ -414,11 +414,14 @@ pub fn av2bv(avid: u64) -> [u8; 10] {
414
414
bvid
415
415
}
416
416
417
pub fn bv2av(bvid: [u8; 10]) -> u64 {
417
fn bv2av(bvid: [u8; 10]) -> u64 {
418
418
let mut a = 0;
419
419
for i in 0..10 {
420
420
a += REV_TABLE[bvid[MAP[i]] as usize - 49] as u64 * POW58[i];
421
421
}
422
422
(a - ADDN) ^ XORN
423
423
}
424
425
// assert_eq!(*b"17x411w7KC", av2bv(170001));
426
// assert_eq!(170001, bv2av(*b"17x411w7KC"));
424
427
```