我需要将20-40字符大小的数字压缩为6字符大小的数字。到目前为止,我已经尝试了Huffman和一些Zip算法,但没有得到想要的结果。
有人可以为 Java 中的这项工作提供任何其他算法/API 建议吗?
例子:
Input: 98765432101234567890
Desired Output: 123456
请注意:我并不是说给定输入的输出必须为 12345。我的意思是,如果我指定 20 字节的数字,它应该被压缩为 6 字节的数字。
用法:压缩后的数字将被提供给设备(最多只能占用 6 个数字字符)。设备会将号码解码回原始号码。
假设/限制:
如果需要,客户端和设备(服务器)都可以共享编码/解码数字所需的一些通用属性。
只能向设备发出一个请求,即所有数据都应在一个请求中提供,没有小数据包块
谢谢。