短ID生成基于62进制 - xkorey - ITeye博客


本站和网页 https://www.iteye.com/blog/xkorey-2110873 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

短ID生成基于62进制 - xkorey - ITeye博客
首页
资讯
精华
论坛
问答
博客
专栏
群组
下载
资源
搜索
您还未登录!
登录
xkorey
浏览:
144655 次
性别:
来自:
石家庄
最近访客
更多访客>>
liangxuyi
07accp
limonzet
lzcjava
博主相关
博客
微博
相册
收藏
留言
关于我
文章分类
全部博客 (66)
filnet pe eform (1)
svn (1)
ASM (3)
算法 k-means (1)
FileNet unfile query sql (1)
FileNet fetchRows fetchObjects (1)
linux chkconfig (1)
websphere profile linux manageprofiles (1)
db2 linux install (1)
IBM Tivoli Directory Server linux (1)
download jandan.net pic (1)
jquery picture view (1)
db2 db2cc (1)
FileNet (0)
FileNet redbook (7)
Test upload (0)
test 博客2doc (0)
nginx (1)
Google-perftools (1)
openSSL (1)
pcre (1)
libunwind (1)
nginx.conf (1)
ASM,AOP (0)
oracle sql (1)
webservice cxf wsdl2java (1)
spring3 hibernate4 mutil datasource/database (1)
java 线程 thread run (1)
java 64进制 (0)
java 62进制 (1)
activemq camel spring jms (2)
mysql5.5 Master Master Replication (1)
centos7 hostname httpd port (1)
centos (1)
hostname (1)
change http port (1)
test (0)
zookeeper (2)
无语面试 (1)
spring+mybatis+Mysql+proc+分页 (0)
spring+mybatis+Mysql+proc+分页+paging (2)
社区版块
我的资讯 (
0)
我的论坛 (
25)
我的问答 (
0)
存档分类
2017-04
3)
2016-05
1)
2015-04
2)
更多存档...
最新评论
chenchunhuis:
我们最近也在做这个事情,一楼的评论很有道理  
spring3+hibernate4+maven+junit 多库/多数据源实现
mjs123:
你好,我执行的时候 怎么老是报 No Session foun ...
spring3+hibernate4+maven+junit 多库/多数据源实现
chen_bing8:
但是不知道怎么配置默认实例,用JDBC连接后没有默认实例。
linux 下 db2 TCP 服务 配置
chen_bing8:
非常好,照着修改成功了
linux 下 db2 TCP 服务 配置
yixiandave:
不喜欢写一长串char[]。。。直接写一个String然后调c ...
短ID生成基于62进制
xkorey
短ID生成基于62进制
博客分类: java 62进制
java62进制短id
阅读更多
下午突然想到要做一个生成基于62进制的短ID,网上找了一些资料,说到用到辗除法,于是实现了一下。不知道正不正确,数字和字符串能够相互转换。贴在这里留做以后备用。
public class ShortId {
private final char[] str = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
'Z' };
private final String _str=new String(str);
int len = str.length;
public String toStr(long num) {
if(num<len){
return ""+str[(int)num];
int a = (int)num%len;
int b = (int)num/len;
char e=str[a];
if(b>=len){
return ""+toStr(b)+e;
}else{
return ""+str[b]+e;
public long toNum(String s) {
int a = s.length()-1;
long val=0;
for(int i=a;i>=0;i--){
char c = s.charAt(i);
val += (_str.indexOf(c)*Math.pow(len, a-i));
return val;
public static void main(String[] args) {
ShortId s64 = new ShortId();
long num=45236;
String enCode=s64.toStr(num);
long deCode = s64.toNum(enCode);
System.out.println("短Id是:"+enCode);
System.out.println("Id是:"+deCode);
输出:
短Id是:bLC
Id是:45236
0 顶0 踩
分享到:
ActiveMQ+Camel+Spring+jms Demo(一)
正确的暂停一个线程
2014-08-29 17:16
浏览 4527
评论(1)
分类:编程语言
查看更多
评论
1 楼
yixiandave
2014-08-30
不喜欢写一长串char[]。。。直接写一个String然后调charAt效率应该差不多吧
发表评论
您还没有登录,请您登录后再发表评论
相关推荐
did:高性能的ID生成器,基于rpcx和Memcached协议提供网络服务调用
基于的算法实现的ID生成器高级的健壮的可容错的网络服务。 它提供了: 可配置的二进制位数和最大序列数 可以批量获取ID 基于提供网络服务,可以提供服务 基于rpcx,可以提供分布式的,容错的网络服务 雪花算法的实现...
php-snowflake::snowflake:基于Snowflake算法PHP ID生成器(Twitter已宣布)
一个基于Snowflake算法PHP ID生成器(Twitter已宣布)。描述雪花算法PHP实现。 Snowflake是一项网络服务,可通过一些简单的保证大规模生成唯一的ID号。 第一位是未使用的符号位。 第二部分包括一个41位的时间戳...
基于Javascript实现的不重复ID的生成器
我今天要做的就是做一个不重复ID的生成器 /** * 生成一个用不重复的ID */ function GenNonDuplicateID():String{ } 先看看下面的几个方法 1.生成[0,1)的随机数的Math.random,例如 //我这次运行生成的是:0....
电影评论情感分析:训练了一种二进制分类模型,可基于该评论中使用的单词来预测电影评论的情绪
该项目致力于利用成千上万条带有标签的电影评论来训练二进制分类模型,该模型将纯粹基于评论中的单词来预测新电影评论的情绪。 为了完成此任务,此存储库中包含以下文件: alldata.tsv :此文件包含评论的完整数据...
MYSQL基于GTID的复制
1.概述  从MYSQL5.6 开始,mysql开始支持GTID复制。... GTID即全局事务ID,器保证为每一个在主上提交的事务在复制集群中可以生成一个的ID.  GTID=source_id:transaction_id  source_id:是主库的ser
OCFMQTTSpy:基于MQTT的OCF
配置文件将读取以下配置数据:MQTT: 托管MQTT服务器的主机名或IP地址端口,要使用的服务器端口client_id,未设置的客户端ID,则将生成随机uuid keepalive,TCP / TLS连接保持活动状态安全: cacerts,证书文件的...
Visual SQLTools 2012 Pro – 高效率SQL开发工具
Visual SQLTools 2012 Pro - 是一套专业的数据库及SQL开发工具,基于.NET Framework 和.NET Data Provider技术开发,历时十年精心打造而成,支持Oracle,SQLServer,MySQL,DB2,Sybase,PostgreSQL,Access 7种常用数据库...
ReadLeCroyBinaryWav​eform.m:读取力科二进制波形,修改现有文件以支持序列采集。-matlab开发
在 WavePro 7 Zi 生成的文件上进行测试。 % ReadLeCroyBinaryWaveform - 读取由力科示波器创建的二进制波形文件% 波形 = LeCroyBinaryWaveform(FILENAME) 将波形文件加载到工作区变量 W 中。 % FILENAME 可以是...
基于hhww改进版的传统五笔输入法
基于hhww改进版的传统五笔输入法 在hhhhwwww改进版输入法(生成器)的基础上,修改了背景颜色、取消了Ctrl+M换码、取消了切换码表的显示颜色、修改了“\”为“、"等细节完善! 此五笔输入法是用hhhhwwww改进的...
常用PHP5函数小全
usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。...uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID。 time_sleep_until() 函数延迟代码执行直到指定的时间....
UltraEdit-32 V17.20.0 绿色版 && UltraEdit V17.X 离线注册机 && 详细使用方法指导
UltraEdit是一套功能强大的文本编辑器,可以编辑文本、十六进制、ASCII码,可以取代记事本,内建英文单字检查、C++及VB指令突显,可同时编辑多个文件,而且即使开启很大的文件速度也不会慢。软件附有HTML标签颜色...
基于J2EE的在线考试系统构建探讨
智能组卷功能一般应包含系统维护、试题录入、试题检索、试卷生成、复习题生成等基本模块。对于每个应试者来说,试卷的题型和题量都应是相同的,但试题并不相同。自动组卷的效率与质量完全取决于抽题算法的设计。如何...
passy:密码实用程序包装器
热情好客 Passy是Node.js的CommonJS模块,具有身份和随机ID生成功能。 它使用baseURL编码,并创建了各种预定义长度的ID(带有内置的创建日期),以及任意长度的纯随机ID。 基于时间的ID将创建日期存储在其中,因此不...
基于hhww改进版的传统五笔输入法(新版支持WIN7)
基于hhww改进版的传统五笔输入法(支持WIN7) 在hhhhwwww改进版输入法(生成器)的基础上,修改了背景颜色、取消了Ctrl+M换码、取消了切换码表的显示颜色、修改了“\”为“、"等细节完善! 此五笔输入法是用hhhhwwww...
cli-old:命令行界面,用于创建新的waPC项目和代码生成
waPC CLI WebAssembly过程调用命令行界面。问题WebAssembly能够在主机和来宾之间传递和接受简单的数字参数,而非平凡的应用程序则希望利用更复杂的数据类型,例如... waPC在内部利用基于称为WIDL的交互式数据语言(ID
tumorevaluation:该存储库包含我为学士学位论文编写的代码。 我进行的研究的目的是基于统计学方法(Smirnov和Kolmogorov-Smirnov检验)为几种类型的脑肿瘤的MRI图像开发分类算法。
肿瘤评估的统计方法 该存储库包含我为学士学位论文编写的代码。 我进行的研究的目的是基于统计学方法(Smirnov和Kolmogorov-Smirnov检验)为几种...此向量是通过分割肿瘤区域以生成肿瘤的二进制掩码手动生成的); cj
nuclide:id Tech的软件开发套件
Nuclide-软件开发套件围绕idTech构建的软件开发套件,专注于经过验证...建筑'build_engine.sh'脚本检出FTE Subversion存储库并保持最新状态,同时还生成对运行和构建游戏逻辑(都是QuakeC)至关重要的二进制文件,并将
aiotdlib:基于TDLib https的Python asyncio Telegram客户端
药库特征所有类型和功能都是从自动生成的所有类型和功能都带有验证和良好的IDE类型提示(感谢 ) 一组高级API方法,使使用tdlib更加简单仅使用TDLib v1.7.3进行了测试。 不保证支持其他版本的TDLib 仅针对包括macOS...
mo-image-identifier:基于图像的蘑菇识别
用于进行基于图像的蘑菇识别的工具 概述: 设置: # venv: python3 -m venv mushroomobserver_venv source mushroomobserver_venv/bin/activate pip3 install -r requirements.txt 伪像: 预处理: python3 ...
Android开发之资源目录assets与res/raw的区别分析
这些文件不会生成任何资源ID,必须使用/assets开始(不包含它)的相对路径名。 res:用于存放应用程序的资源(如图标、GUI布局等),将被打包到编译后的Java中。不支持深度子目录 res/menu:存放基于XML的菜单描述; ...
Global site tag (gtag.js) - Google Analytics