[問題] huffman coding: operator<<寫檔反而更大

看板C_and_CPP作者 (我們是世界)時間12年前 (2013/06/07 17:18), 11年前編輯推噓0(0010)
留言10則, 8人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) g++ 問題(Question): 目前寫了一個huffman coding,想要壓縮文字檔(ascii),但是在儲存二進位編碼時 ,檔案反而會更大(因為都是01),所以分段轉為unsigned long表示,卻還是有相同的 問題。苦思不得其解,請問應該如何解決? --------- 本來都是"0"和"1",但是要寫入的是binary data 已解決 用write寫入 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.154

06/07 17:47, , 1F
直接用binary寫進去
06/07 17:47, 1F

06/07 19:52, , 2F
huffman原本就有機會變大了啊
06/07 19:52, 2F

06/07 20:10, , 3F
你的應該是編碼問題,直接寫二進制進去
06/07 20:10, 3F

06/07 20:11, , 4F
但這樣你開起來應該會亂碼,要轉成二進制方式開啟
06/07 20:11, 4F

06/07 21:57, , 5F
06/07 21:57, 5F

06/07 23:45, , 6F
你是fprintf("%ul", encoded_unsign_long); 嗎= =a
06/07 23:45, 6F

06/08 03:20, , 7F
我是用ofstream開ios::binary mode
06/08 03:20, 7F

06/08 03:41, , 8F
直接用<<輸出
06/08 03:41, 8F

06/08 04:24, , 9F
write
06/08 04:24, 9F
※ 編輯: weareworld 來自: 140.112.240.154 (06/08 21:24)

06/09 10:42, , 10F
都是01應該可以壓的很小吧?你的bitwrite是正確的嗎
06/09 10:42, 10F
※ 編輯: weareworld (1.162.52.29), 11/12/2014 19:15:06
文章代碼(AID): #1HiQLBVH (C_and_CPP)