想象一下有一个数字str:
以下是id的列表,我需要将它们合并到str并将其存储到DB中,当我需要使用它时,我需要将其转换为原始ID。 所以我需要缩短ID大小......
7376,89962,18299,74081,4094197,74445,807343,309251102,594649555
我使用base64编码str来:
NzM3Njg5OTE2MjE4Mjk5MTc0MDgxNDAxOTQxOTc3MTQ0NDU4MDcxMzQzMzA5MjE1MTEwMjU5MTQ2NDk1NTU=
但实际上太长了。 有什么方法可以缩短(编码)str的长度并将其解码到之前吗?
答案 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();
缩短数字字符串,但保持值不变。