Re: [問題] 如何以bit為單位對檔案進行寫入和讀取?

看板C_and_CPP作者 (Dixon)時間14年前 (2010/06/05 16:51), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《dixonhsiao (Dixon)》之銘言: : 遇到的問題: : 我有一個table拿來做對應,比如說: a 對應到 11001 : b 對應到 111 : c 對應到 1010101 : ... : (此table是prefix-free的code 也就是任何人都不是任何人的prefix) : 假如說input是aabb : 那我想要以bit的形式寫入1100111001111111到檔案裡(1和0都是一個bit而不是byte) : 應該要怎麼做呢? : 同理 之後我應該要怎麼從這個的檔案讀出來並把它解回aabb呢? 我用硬幹的方式把這些很長的bit stream轉成char寫入檔案去了 也就是每8 bit集合成1 byte的char 可是現在問題來了 由於資料量很大 所以幾乎任何char都有可能出現 其中就會出現 0A 這個byte 也就是代表換行的char 可是我又想在寫入檔案時寫入換行對不同段的資料做區隔 之後要解回來時方便做讀取 但是這樣代表資料的0A 和我真正想要的換行就會混在一起了 全部都是換行 有沒有甚麼辦法可以讓他們做區隔?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.208.162

06/05 17:04, , 1F
那就記下一共多長就好啦 這樣讀不到長度時碰到的換行是資料
06/05 17:04, 1F

06/05 17:05, , 2F
其他的則是分隔換行
06/05 17:05, 2F
文章代碼(AID): #1C2W_yLe (C_and_CPP)
文章代碼(AID): #1C2W_yLe (C_and_CPP)