推 strangehead:要存成二進位數值,存對的話開出來會是亂碼 06/04 04:11
→ kiedveian:因為1位元的資料以1位元組儲存 06/04 08:02
推 BSpowerx:你要自己把八個01轉成1位元組啊 06/04 08:04
推 TaiwanXDman:要用二進位啊老兄 06/04 08:42
推 wzbird:純練習的話倒是也可以算寫對了 06/04 11:30
喔喔!! 不知道我這樣理解對不對?
原文: ABCDEFG....
轉碼後: 01101010111000...
*轉2進位: (01101010)(10110001)(110....
|| ||
一位元 一位元
=> 達到壓縮目的@@???
※ 編輯: gn123 來自: 140.113.66.184 (06/04 11:42)
推 TaiwanXDman:YES 06/04 12:07
→ TaiwanXDman:應該說每個1跟0都是一位元 你原本作法是 06/04 12:08
→ TaiwanXDman:每個1跟0都變字元來存 那一個1就是8位元了 06/04 12:08
→ gn123:了解!! 謝謝樓上解說>< 06/04 12:58
→ diabloevagto:你要印出來應該要轉成ascii code在秀出來 06/04 13:03
→ diabloevagto:用特殊的軟體打開txt檔,選用2進制顯示 06/04 13:04
我現在雖然懂了如何變小,可是不知道怎把我編碼轉成1位元的2進位編碼QQ
比方說,下列是文章單字經過Huffman Tree轉換的編碼:
A: 0000
B: 0101010101
C: 110000
D: 101111000
...
這些編碼我存在char [] 裡面
可是剛剛查了一堆資料越搞越混,不知道怎樣才叫做"轉成1位元"???
請教版上高手~謝謝
※ 編輯: gn123 來自: 140.113.66.184 (06/04 13:20)
→ uranusjr:我想你應該要先搞清楚字元編碼是什麼 06/04 13:41
→ uranusjr:算了直接解釋好了 06/04 13:41
→ diabloevagto:你知道bit跟byte的差別嗎? 06/04 13:51
→ gn123:1byte=8bit@@" 06/04 13:52
→ james732:要知道寫成程式的差別XD 06/04 13:53
→ diabloevagto:那你輸出一個字元1,就代表1byte 06/04 13:59
→ diabloevagto:huffman壓縮的意思就是不用1byte代表一個字 06/04 14:00
→ diabloevagto:常出現短的編碼代表他,這是huffman的精神 06/04 14:00
→ diabloevagto:他的1是1bit,但你輸出用了1byte當然會變大 06/04 14:00
→ diabloevagto:你要寫出檔案要用2進制模式,然後用bit寫出 06/04 14:01
→ diabloevagto:當然開檔也要用2進制模式顯示 06/04 14:01
→ diabloevagto:如果不懂,你在去看看huffman為什麼可以壓縮 06/04 14:02
→ diabloevagto:搞懂他的精神所在吧 06/04 14:03
→ gn123:好的@@ 我再想一想 謝謝樓上熱心指導 06/04 14:08
推 drag:atoi() 06/04 17:52
推 drag:sorry沒atoi()這麼簡單,當我沒說好了~:P 06/04 17:58