我想问一下,我们可以结合使用BWT MTF和Huffman算法来获得更高的压缩率吗?这个过程会是什么? Wriring MTF文件时出错?
public class MTF{
static File f=new File("MTF.txt");
public static File encode(String msg, String symTable)throws Exception{
if(!f.exists())
f.createNewFile();
StringBuilder s = new StringBuilder(symTable);
for(char c : msg.toCharArray()){
int idx = s.indexOf("" + c);
FileWriter writer = new FileWriter(f);
writer.write(idx+" ");
System.out.print(idx+" ");
writer.flush();
writer.close();
s = s.deleteCharAt(idx).insert(0, c);
}
System.out.println("MTF done");
return f;
}
答案 0 :(得分:0)
测试这个假设很容易,过程如下:
一般:应用MTF可以提高可压缩性,例如:http://michael.dipperstein.com/bwt/
BWT很有用,因为它将数据转换为格式 通常由行程编码器和统计可压缩 订单大于0的编码器。另外申请 移动到前面的编码,数据将采用一般的格式 即使是零阶统计编码器也可以压缩得更多 霍夫曼编码或算术编码的传统实现。