【发布时间】:2010-11-24 05:10:18
【问题描述】:
我的 ASP.NET 页面有以下查询字符串参数:
…?IDs=1000000012,1000000021,1000000013,1000000022&...
这里的IDs 参数总是有数字隔开,在本例中为,。目前有 4 个数字,但通常它们介于 3 和 7 之间。
现在,我正在寻找将上面的每个大数转换为最小可能值的方法;专门压缩IDs查询字符串参数的值。欢迎压缩每个数字算法或压缩IDs查询字符串参数的整个值。
- 编码或解码不是问题;只是压缩值
IDs查询字符串参数。 - 为
IDs创建一些唯一的小值,然后从某个数据源检索其值超出了范围。
有没有一种算法可以将这么大的数字压缩成小的值,或者将IDs查询字符串参数的值压缩在一起?
【问题讨论】:
-
这些数字的范围是多少?是否使用所有数字 (0-9),数字 2-8 是否始终为 0?
-
不是答案 - 但解决方案需要考虑压缩背后的基本原理?如果它在生成的页面中包含很多,答案几乎肯定是使用 gzip 压缩,它会为您压缩这个(和所有 HTML),比通过它管理的微压缩具有更好的性能。如果是为了提高用户输入网址的速度,那么答案需要考虑这一点。
-
> 是否使用所有数字 (0-9),数字 2-8 是否始终为 0 ?否 >如果它在生成的页面中包含很多,答案几乎肯定是使用 gzip 推荐页面上的所有链接的 href 为“MyServer.com/ShowSomething.aspx?IDs=1000000012,1000000021,1000000013,1000000022&...”问题是压缩 ID 参数
-
其他人认为他应该只从每个号码中
-1000000000,并将其添加回服务器端:D。不过说真的,我认为没有理由这样做。一般来说,您应该实施一个更好的系统。你需要这个的确切原因是什么?你遇到了什么问题? -
@silky 这些数字是由第三方工具生成的唯一数字,由不同的数据库团队管理。正如我在帖子中所说,我想压缩 ID 参数的每个数字或值,以免查询字符串 URL 太大。
标签: c# algorithm math compression logic