假设有一个数字字符串:
下面是id的列表,我需要将它们合并到str中并将其存储到DB中,当我需要使用它时,我需要将其转换为原始id。所以我需要缩短ids的大小...
7376,89962,18299,74081,4094197,74445,807343,309251102,594649555
我使用base64将字符串编码为:NzM3Njg5OTE2MjE4Mjk5MTc0MDgxNDAxOTQxOTc3MTQ0NDU4MDcxMzQzMzA5MjE1MTEwMjU5MTQ2NDk1NTU=
但实际上它太长了。有没有什么方法可以缩短(编码)字符串的长度,并将其解码为之前的长度?
发布于 2017-08-17 12:48:13
尝试使用Huffman Coding压缩数据。
Here就是一个java例子。
发布于 2017-08-17 12:51:55
尝尝这个。
String numText= "7376899621829974081409419774445807343309251102594649555";
BigInteger bi= new BigInteger(numText);
String encodedText= bi.toString(36);
BigInteger nbi= new BigInteger(encodedText, 36);
String originalText= nbi.toString();
数字字符串被缩短,但值保持不变。
https://stackoverflow.com/questions/45726097
复制相似问题