首页 > 代码库 > Base62
Base62
<?php /** * Base62 将整型转为62进制数字(有大数问题) * @author Sundj * @since 2014.04.07 */ class Base62 { const BASE = 62; static $baseChars = ‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ‘; public function encode($number) { $output = ‘‘; do { $reminder = $number % Base62::BASE; $output = Base62::$baseChars[$reminder] . $output; $number = ($number - $reminder) / Base62::BASE; } while($number > 0); return $output; } public function decode($input) { $length = strlen($input); $number = 0; $baseChars = array_flip(str_split(Base62::$baseChars)); for($i = 0; $i < $length; ++$i) { $number += $baseChars[$input[$i]] * pow(Base62::BASE, $length - $i - 1); } return number_format($number, 0, ‘‘, ‘‘); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。