bbs2html : Day 5

Screenshot - 2007_8_25 , 下午 10_47_42

我本來以為今天會沒有進度,沒想到今天就完成了 XD

昨天晚上其實有成功的將 .DIR 讀出來,我用回 TextReader ,一個字元、一個字元的讀取,當讀到 \x0 時,就替換成空白,這時我還以為是 string 中不能有 \x0 字元。今天我實際測試才發現不是 string 中不能有 \x0 ,而是「畫面顯示」到這裡就會停止,所以 EmEditor 開啟這些含 \x0 檔案時會先詢問是否要把 00H 替換成空白,不然它就打不開了,如果我直接將 string 儲存成檔案, \x0 甚至還會忠實的儲存。

因此今天的第一個步驟是想辦法正確的區分項目與項目, .DIR 檔案中只有一行字串,每 256 bytes 為一個項目,之間沒有可用的分隔字元。但是 TextReader 沒辦法依照 byte 讀取,它是以字元或行為單位,我試著自己計算 byte 試了很久才想到,用 BinaryReader 不就好了…… orz

改用 BinaryReader 後進度就很快,順利的寫完了 .DIR 轉換 HTML 的部份。最後將 .DIR 轉換 HTML 改成遞迴,再整合之前寫好的 UAO 轉換和 ANSI 色碼轉換, bbs2html 終於大功告成!1

本程式相較於 bbs2hh 的優點:

  1. 連加密文都會轉出來,既然原始檔都有了,轉換又何須略過。
    所以… 當你看到哪個板的精華區有加密的… 就可以把它的備份下載回來讀…沒板主權限是不能打包的啦~
  2. 支援底線、閃爍(Firefox only)及反相色碼。
  3. 正確轉換 Unicode 補完計畫中的新增字,以 UTF-8 儲存。2

  1. 目前還有一些關於 HTML 的問題要修改,不過這都是小事,我現在懶得改了
    堆了好多動畫還沒看… 先看動畫! :p 

  2. UTF-8 這個詞中只有 UTF 三個字縮小的感覺真是滿詭異的… 

Leave your thoughts
  • You can use some HTML in your comment.
  • Your comment may not display immediately due to spam filtering. Please wait for moderation.