从python移植的B站AV号BV号互转算法源码

 private static String table = "fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF";private static HashMap<String, Integer> mp = new HashMap<>();private static HashMap<Integer, String> mp2 = new HashMap<>();static int ss[] = {11, 10, 3, 8, 4, 6, 2, 9, 5, 7};static long xor = 177451812;static long add = 8728348608l;public static void main(String[] args) {System.out.println(b2v("BV1FE411c7co"));System.out.println(v2b("av98464354"));}public static long power(int a, int b) {long power = 1;for (int c = 0; c < b; c++)power *= a;return power;}public static String b2v(String s) {long r = 0;for (int i = 0; i < 58; i++) {String s1 = table.substring(i, i + 1);mp.put(s1, i);}for (int i = 0; i < 6; i++) {r = r + mp.get(s.substring(ss[i], ss[i] + 1)) * power(58, i);}return "av" + ((r - add) ^ xor);}public static String v2b(String st) {long s = Long.valueOf(st.split("av")[1]);StringBuffer sb = new StringBuffer("BV1  4 1 7  ");s = (s ^ xor) + add;for (int i = 0; i < 58; i++) {String s1 = table.substring(i, i + 1);mp2.put(i, s1);}for (int i = 0; i < 6; i++) {String r = mp2.get((int) (s / power(58, i) % 58));sb.replace(ss[i], ss[i] + 1, r);}return sb.toString();}

花了点时间从python移植过来的。

哔哩哔哩 BV、AV互转 Java版相关推荐

  1. 哔哩哔哩 BV、AV互转 C#版

    哔哩哔哩 BV.AV互转 C#版 从JAVA移植的(从python移植的B站AV号BV号互转算法源码)//套娃 引用@ty1937 https://blog.csdn.net/ty1937/artic ...

  2. B站bv和av互转java代码

    B站bv和av互转java代码 废话不多说直接展示代码 废话不多说直接展示代码 // An highlighted block import java.util.ArrayList; import j ...

  3. 哔哩哔哩弹幕爬取以及BV与AV号之间的转换

    作为b站老粉丝,我有义务向新人科普bilibili的发展与纪年史,本人持中立态度,仅做记录工作. B站的API端口都是开放的,用一个很简单的调用命令就可以计算出BV号对应的AV号. B站的源码已经在G ...

  4. Python+BeautifulSoup+Selenium模拟浏览器循环自动播放视频,如哔哩哔哩某个UP主的视频

    1.前言 计算机的出现,推动了人类社会的进步,使得人们更高效的工作或是生活.当我们很"懒"的时候,计算机就能站出来,帮助我们做一些我们觉得浪费时间的事情了.你嫌用手点鼠标麻烦,计算 ...

  5. IDEA JAVA使用BilibiliClient抓取哔哩哔哩用户动态等数据信息

    关于 一直在想办法获取哔哩哔哩的相关对象,对媒体运营数据进行自动管理,于是写了一个BiliClient的JAR包,自己使用,也分享出来,希望可以帮助大家,目前该项目已经上传GITHUB和Maven中央 ...

  6. 互联网日报 | 6月28日 星期一 | B站成立哔哩哔哩快乐奖学金;百度成立独立芯片公司昆仑芯;FF将于7月21日纳斯达克上市...

    今日看点 ✦ 阿里CCO推出"百分百计划",全面升级淘宝天猫服务体验 ✦ 百度芯片业务成立独立芯片公司,第二代芯片下半年量产 ✦ FF与PSAC合并上市文件生效,将于7月21日纳斯 ...

  7. 哔哩哔哩2020年Q4及全年财报:全年营收120亿元,同比增长77%

    Python实战社群 Java实战社群 长按识别下方二维码,按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群▲ 来源丨TechWeb(ID:TechWeb) 北京时 ...

  8. 菜鸟弟弟从零开始的爬取Bilibili弹幕的Python爬虫教程-哔哩哔哩 - ( ゜- ゜)つロ 干杯~

    从零开始的爬取Bilibili弹幕的Python爬虫教程 或许可以作为一个爬虫小白的练手的demo? 还是先看看什么是爬虫吧!(还有Bilibili! ) 网络爬虫: 网络爬虫(又称为网页蜘蛛,网络机 ...

  9. 哔哩哔哩弹幕api及一些解释

    有两个弹幕api接口,分别是移动端与电脑端 https://comment.bilibili.com/ + cid + .xml https://api.bilibili.com/x/v1/dm/li ...

最新文章

  1. 确定一组矩形是否有两个重叠的算法
  2. 在C#的类库中使用log4net
  3. AOJ GRL_1_A: Single Source Shortest Path (Dijktra算法求单源最短路径,邻接表)
  4. 一些开发点滴[java]
  5. node.js常见的模块
  6. php中onmouseover报错,php中文网--JavaScript
  7. SQLServer出现不允许保存更改的问题解决
  8. catia三边倒角_CATIA课时:修饰特征倒角、倒圆角视频教程_翼狐网
  9. 8类网线利弊_7类网线和8类网线到底有何不同?
  10. 百度地图-根据起终点经纬度驾车导航
  11. 【论】PISCES: A Programmable, Protocol-Independent Software Switch
  12. 地震勘探原理(六)之地震组合方法原理
  13. JMeter压力测试(一)
  14. LEFT JOIN条件在on后面和在where后面的区别
  15. LaTeX中绘制分块矩阵(矩阵中绘制横竖线)
  16. DataX系列8-HdfsWriter介绍
  17. Mysql建表——报错1005
  18. C#导出Word总结
  19. R语言 一元正态分布参数最大似然估计
  20. PyCharm中import显示灰色解决方案

热门文章

  1. 使用vivado调用自定义IP的两种方法
  2. VS:如何离线使用Nuget安装包
  3. 用 C语言模拟买猫的过程
  4. One afternoon in Zhongguancun(redo CC5)
  5. 使用正则表达式检测帐号规范
  6. python实现简单的ps色阶调整过程
  7. 自媒体怎么赚钱!自媒体怎么做收益比较高!
  8. 深入理解JVM之四:详解垃圾收集器
  9. OPT液态镜头上市,视觉检测实现瞬时对焦
  10. C语言解一元二次方程