首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将长串数字转换成短串?

如何将长串数字转换成短串?
EN

Stack Overflow用户
提问于 2012-05-01 05:16:08
回答 2查看 3.3K关注 0票数 2

我正在建立一个网格,其中每个框都有一个不同的颜色值使用HTML和Javascript。

例如:一个5x5的网格,我需要跟踪25个值。我希望能够通过' grid‘参数发送网格的信息,这样当任何用户想要查看这个特定的网格时,他们都会看到完整绘制的网格。最初,URL应该是: www.mysite.com?grid=0123401234012340123401234理想情况下,参数应该少于25个字符。

如何将‘01234012340123401234012340123401234’转换为更小的字符串?最好是使用压缩算法还是只使用十进制到十六进制的转换?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-01 05:19:21

你可以使用更高的基数。大约30,例如:(123401234012340123401234).toString(30) --> "8i015nb02ib0c4ik"。请注意,要使其正常工作,123401234012340123401234必须是数字而不是字符串。

票数 0
EN

Stack Overflow用户

发布于 2012-05-01 05:29:50

如果每个单元格都包含一种颜色,这意味着每个单元格需要3个字节(如果包含alpha通道中的更改,则需要4个字节)。这意味着,如果使用十六进制编码,则每个单元格需要6个十六进制字符。

这并不是最优的,所以我建议使用等于26 + 26 + 10 = 62字符的a-zA-Z0-9。然后使用两个字符-和_,以获得完整的64个字符。使用十六进制,您需要6个字符来编码2^(24)个可能的值(如果您使用的是alpha通道,则需要2^32 )。

对于64位字符,每个单元格只需要4个字符。我提到这个的原因是因为a-zA-Z0-9 -和_是有效的url字符。

当然,所有这些都是假设你使用了所有的颜色。如果限制域,可以大幅减少每个单元格的字符数,但仍应使用相同的编码方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10390700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档