php的Base62类,适用于数值转字符串

来源:互联网 发布:杭州淘宝美工招聘 编辑:程序博客网 时间:2024/04/30 05:33
Base62类源码: 
class Base62 {     private $string = "vPh7zZwA2LyU4bGq5tcVfIMxJi6XaSoK9CNp0OWljYTHQ8REnmu31BrdgeDkFs";     public function base62_encode($str) {        $out = '';         for($t=floor(log10($str)/log10(62)); $t>=0; $t--) {            $a = floor($str / pow(62, $t));            $out = $out.substr($this->string, $a, 1);             $str = $str - ($a * pow(62, $t));        }           return $out;    }        public function base62_decode($str) {        $out = 0;        $len = strlen($str) - 1;        for($t=0; $t<=$len; $t++) {            $out = $out + strpos($this->string, substr($str, $t, 1)) * pow(62, $len - $t);        }           return substr(sprintf("%f", $out), 0, -7);    }   }

用法:
$str = 1;$object = new Base62();echo $object->base62_encode($str) . "\n";echo $object->base62_decode($object->base62_encode($str)) . "\n";
JS版的Base62编码与解码:http://blog.csdn.net/my_yang/article/details/7872370
原创粉丝点击