我現在在做霍夫曼編碼,我在路上碰到了這個凹凸。我幾乎做了所有的事情,但這一部分。我現在的主要問題是我不知道如何存儲使用我的代碼編碼的0和1的二進制字符串。我試着把它寫出來,但最終的文件大小比我編碼的原始文件大得多。有人可以給我任何想法,我應該如何存儲我的二進制字符串,這樣就不會發生。如何在java中壓縮0和1的字符串
更新 我已經注意到,當我嘗試將其轉換爲一個char很多焦炭的不認可,最終被打印出來?的,當我做
String u = scanner.nextLine();
char l;
for(int b = 0;b<u.length();b++)
{
l = u.charAt(b);
int c = (int) u.charAt(b);
String p = Integer.toBinaryString(c);
if(b!= u.length()-1)
{
while(p.length()!=8){
p = "0" + p;
//Thread.sleep(3000);
}
}System.out.println(p);
k.append(p);
它在讀取?並打印出00111111.任何人有任何建議我如何解決這個問題?
爲什麼不把0和1的0和1存儲爲二進制而不是文本?如果你想進一步壓縮這些,你可以使用內置壓縮,也使用huffman編碼以及算術編碼。 – 2013-04-28 17:05:22