锁定老帖子 主题:由UUID和短域名想到的
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-04-26
短域名,如http://url.cn/1zJdGX,一个地址最后是转换成“1zJdGX”,是用62进制表示的。 62进制包括“0-9,a-z,A-Z”62个数字和字母。 UUID很大的一个缺点就是:长! UUID可以把中间的“-”都去掉,也有32位。 我是想把32位的UUID,转换成还不知道有多少位的62进制表示。这样应该会短不少。 有兴趣的可以讨论一下,可行性和实用性。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-04-26
62多蛋疼啊,加两个字符凑64算了,比如 - _
另外,0123456789abcdef是数学定义的,大家都用 那你的这套方案,定义出来也只能是自娱自乐吧 |
|
返回顶楼 | |
发表时间:2011-04-26
wolf_awp 写道 UUID,标准的有36位,格式如:1838efee-893d-3778-b480-43d6457767ea,是用16进制表示的。
短域名,如http://url.cn/1zJdGX,一个地址最后是转换成“1zJdGX”,是用62进制表示的。 62进制包括“0-9,a-z,A-Z”62个数字和字母。 UUID很大的一个缺点就是:长! UUID可以把中间的“-”都去掉,也有32位。 我是想把32位的UUID,转换成还不知道有多少位的62进制表示。这样应该会短不少。 有兴趣的可以讨论一下,可行性和实用性。 62位的话,不如加上“_-”凑成64位, |
|
返回顶楼 | |
发表时间:2011-04-26
最后修改:2011-04-26
UUID是把128个二进制数,转换成32个16进制数的,每4个二进制数转换成一个16进制数。
如果是64(2的6次方)进制的话,应该是6个二进制数转换一个64进制数。 我们可以在UUID前面补加一个16进行数,让它成为33位的16进制数,共是132位二进制数。 这样就可以用22个64进制数表示132(22*6)位的二进制数。 结论是,可以把36位的UUID,去掉“-”变成32位的16进制数。 在这个数前面补一个16进制数,比如“0”,就变成了33位(132个二进制数,33*4)。 再把这个33位的16进制数,转换成22位的64进制数。 最终是把36位的UUID,变成一个22位的数表示,短了14位。 |
|
返回顶楼 | |
发表时间:2011-04-26
|
|
返回顶楼 | |
发表时间:2011-04-27
LZ的问题,其实我也想过,呵呵
|
|
返回顶楼 | |
发表时间:2011-04-27
UUID和短域名都不是面向人类的东西,只需要电脑好认就行了。它们的区别在于域名时常需要被共享和显示到移动设备上,所以短点好。
即使你把UUID变成了16位,8位,人类还是不会去多看它一眼。 所以....还是洗洗睡吧。 |
|
返回顶楼 | |
发表时间:2011-04-27
good idea
|
|
返回顶楼 | |
发表时间:2011-04-27
问一下LZ,UUID最大的作用是永远不重复。转为62进制后能保证永不重复吗
|
|
返回顶楼 | |
发表时间:2011-04-27
tianhaoleng 写道 问一下LZ,UUID最大的作用是永远不重复。转为62进制后能保证永不重复吗
汗啊. |
|
返回顶楼 | |