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, ‘‘, ‘‘);
}
}

Base62

时间: 2024-08-10 15:09:50

Base62的相关文章

Golang 之 Base62 编码

Base62 编码用62个可见字符来编码信息,也就是所谓的62进制,可用于缩短地址之类的.实现起来也很简单.当然,这个实现跟别人家的有可能不一样,反正自己能编能解就行. package main import ( "math" "bytes" "strings" ) const CODE62 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" c

PHP base62编码解码实现

1 <?php 2 /** 3 * @desc base62编码解码实现 4 * @param String $data 5 * @author Space 6 * @date 2014/8/6 7 **/ 8 9 function base62_encode($data){ 10 $base62str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 11 $data = strval($data); 12

Wing IDE 5 for Python 安装及破解方法

安装Wing IDE 官网下载deb安装文件 开始安装程序 dpkg -i 文件名.deb 安装完成后打开注册界面,输入下面的License ID 后得到RequestCode,将RequestCode替换掉源文件Key.py中的RequestCode 运行代码(前提已经安装了python),得到激活码 输入激活码,即可破解 源代码Key.py如下 1 import sha 2 import string 3 BASE2 = '01' 4 BASE10 = '0123456789' 5 BASE

webpack实用配置

前面的话 上文介绍了webpack入门,本文将详细介绍webpack实用配置 版本号 以entry.js打包为bundle.js为例,出口的filename可以设置为[id].[name].[hash].[chunkhash]等替换形式,如下所示 var webpack = require('webpack'); module.exports = { entry: './entry.js', //入口文件 output: { path: __dirname,//出口路径 filename: '[

Some Tips

1 md5不能加密数组,所以就会返回Null,而Null===Null 2 phps为.php源代码文件 3 在浏览器中提交时浏览器会为我们进行一次解码,有时需要2次编码 4 需要绕过eregi和urldecode时,可查询url编码表如admin=>%61dmin=>%2561dmin 5 PHP弱类型的一个特性,当一个整形和一个其他类型行比较的时候,会先把其他类型intval再比. 6 +会被 SQL 解析成空格 7 有时需要对#进行 URL 编码,不然会破坏 SQL 语句的完整性(当然这

Python 集成开发环境——WingIDE License Creater

STEP 1: 安装WingIDE(下载地址:http://wingide.com/downloads): STEP 2: 新建后缀名为.py的文件(名称随便),将以下代码添加进去,保存: import sha import string BASE2 = '01' BASE10 = '0123456789' BASE16 = '0123456789ABCDEF' BASE30 = '123456789ABCDEFGHJKLMNPQRTVWXY' BASE36 = '0123456789ABCDE

[整理]javascript压缩、格式化

1.使用packer来压缩JS文件 packer工具在线版:http://dean.edwards.name/packer/ 通过packer对js打包压缩的同时,执行Base62 encode编码后,代码变得难以阅读. 如: ? 1 eval(function(p,a,c,k,e,r){e=String;if(!''.replace(/^/,String)){while(c--)r[c]=k[c]||c;k=[function(e){return r[e]}];e=function(){ret

Design Tiny URL

Part 1: 前言: 最近看了一些关于短址(short URL)方面的一些博客,有些博客说到一些好的东西,但是,也不是很全,所以,这篇博客算是对其它博客的一个总结吧. 介绍: 短址,顾名思义,就是把长的 URL 转成短的 URL, 现在提供这种服务的有很多公司,我们以google家的 URL shortener 服务: http://goo.gl/ 为例. 首先我们到 http://goo.gl/,然后把本文博客的地址http://blog.csdn.net/beiyeqingteng 输入进

破解wingide编辑器

先到官网下载最新版的wingide(我下载的是5.1.11-1),然后安装,打开,出现下面的界面时选第三个,然后输入“ENX27-HWM6G-XYVFA-165PG”,如下图所示: 接下来你软件会给你反馈一个request code,如下图: 复制这个request code,替换下面这个脚本的RequestCode变量的值: # -*- coding: utf-8 -*- #先安装程序,安装完成后打开注册界面,输入下面的License ID 后得到RequestCode,将RequestCod