新浪微博mid base62进制转10进制
2017-03-24 18:21
76 查看
最近写了新浪微博的base62的mid转换成10进制的函数,首先先解释一下这个转换有什么用。
问题提出:前端插入微博信息时使用的是10进制的mid,但是weibo文章url使用的是base62的mid,所以就需要转换:
eg:
http://weibo.com/2656274875/EAbms0SA3?from=page_1002062656274875_profile&wvr=6&mod=weibotime
base64的mid即为 EAbms0SA3
前端使用的id一般为十进制的,所以需要转换,而且其转换方法为从后向前,每四位一取。
转换为10进制的后从前往后拼接;
例如:EAbms0SA3
取得方法是
0SA3
Abms
E
依次转为
0209811
8623484
40
最后拼接为 4086234840209811
以下附上php实现代码,供大家参考。
问题提出:前端插入微博信息时使用的是10进制的mid,但是weibo文章url使用的是base62的mid,所以就需要转换:
eg:
http://weibo.com/2656274875/EAbms0SA3?from=page_1002062656274875_profile&wvr=6&mod=weibotime
base64的mid即为 EAbms0SA3
前端使用的id一般为十进制的,所以需要转换,而且其转换方法为从后向前,每四位一取。
转换为10进制的后从前往后拼接;
例如:EAbms0SA3
取得方法是
0SA3
Abms
E
依次转为
0209811
8623484
40
最后拼接为 4086234840209811
以下附上php实现代码,供大家参考。
<?php class Weibo_Helper{ public static function from62to10($num){ $str62keys = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $i10 = 0; for($i = 0; $i < strlen($num); $i++) { $n = strlen($num) - $i - 1; $s = $num[$i]; $i10 += strpos($str62keys, $s) * pow(62, $n); } return $i10; } public static function weiboMid62to10($url){ $mid = ""; $length = strlen($url); for($i = $length-4; $i>-4; $i = $i-4) { $offset1 = $i<0?0:$i; $offset2 = 4; $str = substr($url, $offset1, $offset2); $url = substr($url, 0, $offset1); $str = self::from62to10($str); echo $str."<br>"; if($offset1 > 0) { while(strlen($str) < 7) { $str = '0'.$str; } } $mid = $str.$mid; echo $str."<br/>"; } return $mid; } } $url = "EAbms0SA3"; $t = Weibo_Helper::weiboMid62to10($url); var_dump($t); ?>
相关文章推荐
- iOS ShareSDK 新浪微博分享sos package or sign error
- 实现新浪微博第三方登录获取用户信息
- 友盟分享到新浪微博,本地有新浪客户端不能分享成功,弹出文件不存在的问题的解决
- 微博首席架构师杨卫华:新浪微博技术架构分析
- 仿新浪微博加号弹出界面动画
- 使用ShareSDK分享到新浪微博遇到的一些问题
- Android新浪微博授权提示:文件不存在 C8998 的终极解决方法
- 【ShareSDK社会化分享】新浪微博分享网络图片问题
- 新浪微博搜索 每页微博条数修改 50条 100条
- Android仿新浪微博/QQ空间滑动自动播放视频功能
- 新浪微博分享以及回调可能会遇到的一些问题
- iOS 新浪微博分享授权失败的问题
- 新浪微博客户端(10)-切换多个fragment
- iOS 第三方登录(QQ 微信 新浪微博)
- JavaScript也能写爬虫-新浪微博【按关键字】采集爬虫
- Android仿新浪微博自定义ListView下拉刷新(4)
- 新浪微博客户端(36)-自定义带placeholder的TextView
- 新浪微博爬虫分享(2016年12月01日更新)
- python调用新浪微博API爬取用户的好友列表(windows 64位,pyCharm)
- 新浪微博接口清单