如何编码(缩短)数字str

时间:2017-08-17 03:21:00

标签: java encoding base64

想象一下有一个数字str:

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

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

我使用base64编码str来: NzM3Njg5OTE2MjE4Mjk5MTc0MDgxNDAxOTQxOTc3MTQ0NDU4MDcxMzQzMzA5MjE1MTEwMjU5MTQ2NDk1NTU=

但实际上太长了。 有什么方法可以缩短(编码)str的长度并将其解码到之前吗?

2 个答案:

答案 0 :(得分:0)

尝试Huffman Coding压缩数据。

Here是java示例。

答案 1 :(得分:0)

试试这个。

String numText= "7376899621829974081409419774445807343309251102594649555";
        BigInteger bi= new BigInteger(numText);
        String encodedText= bi.toString(36);
        BigInteger nbi= new BigInteger(encodedText, 36);
        String originalText= nbi.toString();

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