首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何对数字字符串进行编码(缩短)

如何对数字字符串进行编码(缩短)
EN

Stack Overflow用户
提问于 2017-08-17 11:21:00
回答 2查看 617关注 0票数 1

假设有一个数字字符串:

下面是id的列表,我需要将它们合并到str中并将其存储到DB中,当我需要使用它时,我需要将其转换为原始id。所以我需要缩短ids的大小...

7376,89962,18299,74081,4094197,74445,807343,309251102,594649‌​555

我使用base64将字符串编码为:NzM3Njg5OTE2MjE4Mjk5MTc0MDgxNDAxOTQxOTc3MTQ0NDU4MDcxMzQzMzA5MjE1MTEwMjU5MTQ2NDk1NTU=

但实际上它太长了。有没有什么方法可以缩短(编码)字符串的长度,并将其解码为之前的长度?

EN

回答 2

Stack Overflow用户

发布于 2017-08-17 12:48:13

尝试使用Huffman Coding压缩数据。

Here就是一个java例子。

票数 0
EN

Stack Overflow用户

发布于 2017-08-17 12:51:55

尝尝这个。

代码语言:javascript
代码运行次数:0
运行
复制
String numText= "7376899621829974081409419774445807343309251102594649555";
        BigInteger bi= new BigInteger(numText);
        String encodedText= bi.toString(36);
        BigInteger nbi= new BigInteger(encodedText, 36);
        String originalText= nbi.toString();

数字字符串被缩短,但值保持不变。

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

https://stackoverflow.com/questions/45726097

复制
相关文章

相似问题

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