【問題】如何在繁體Windows 之下開啟以簡體字建立的檔案匣?



贊助商連結


頁 : 1 2 [3]

FYI
2002-08-02, 05:38 PM
感謝大家的協助, 由於還沒把方法徹底研究出來, 沒想到還有人在等候小弟的研究報告, 在此, 小弟先把初步的研究結果向大家報告:

1.WinXP 支援Unicode, 小弟的雜誌光碟格式為Joliet(Mode1), Joliet 用的就是Unicode, 所以在WinXP 之下可以正確辨識簡體中文檔名, 小弟在繁體中文WinME 安裝南極星, 仍然無法辨識部分簡體中文檔名, 此早在意料之中, 不知道癥結是否在於不同版本的Riched32.dll?

2.除了常用的燒錄軟體如Nero, CDRWIN, Easy CD Pro 之外, 小弟也找到了一些工具軟體, 除了 Socrates 提到的IsoBuster 之外, 還有WinISO, CDmage, UltraEdit

3.以Nero 製作映像檔, 再以WinISO 修改, 仍然會遇到一兩個無法正確開啟的目錄, 但是已經可以修改大部分簡體中文檔名, 剩下的工作也許只好交給UltraEdit

4.雖然無法辨識簡體中文檔名, 但是IsoBuster & CDmage 仍然可以將大部分檔案抽取出來, 適用於只有少數簡體中文檔案無法辨識的時候, 數目一多, 手續就繁雜

5.小弟還無法確定以UltraEdit 修改Mode1 映像檔的可行性, 因為Mode1 的Sector 好像有檢查碼, 所以才需要用到WinISO, 以便同時計算ECC, 而Audio CD 允許比較大的錯誤率, 所以也許可以直接用UltraEdit 修改

雖然WinXP 是最單純的解決方案, 但是小弟的目的是要把光碟備份下來, 以便拿到其他任何Windows 都可以完整讀得出來, 因為小弟沒有WinXP, 所以才會把這個問題弄得如此複雜

贊助商連結


FYI
2002-08-02, 09:37 PM
補充一下:
98 能不能像2000一樣「內建多語系支援」
http://www.pczone.com.tw/showthread.php?t=60843

此外, "好像" Nero NRG Mode1 (2352 bytes/sector) 包含檢查碼, ISO Mode1 (2048 bytes/sector) 則無, 因此, 如果要修改映像檔, 最好做成ISO 再改...存疑, 小弟也是盡力書寫正確, 敬請不吝指正

FYI
2002-08-04, 01:38 AM
小弟花了數天的時間, 整理了以下方法, 雖然各位不見得用的上, 就當作是閒聊吧! 當然, 您能夠不用這個方法最好, 因為需要一點 "愚公移山" 的精神, 最好手上還要有一本旗標出版 "光碟燒錄技術徹底研究/汪仲甫著", 或者事先研究ISO9660 的光碟結構

首先描述一下道具: 簡體字光碟一片, WinISO, CDmage, IsoBuster, UltraEdit, Daemon Tools

小弟的簡體字光碟是訂閱EMU-ZONE 雜誌(www.emu-zone.net)附贈的, 在繁體中文WinME 下執行, 會發生以下錯誤:
1. Autorun.exe 執行後, Title 顯示亂碼(因為是簡體字), 小瑕疵
2. 無法開啟少數以簡體字命名的檔案或檔案匣, 檔案總管將無法顯示的簡體字以 "底線" 代替, WinME 以前版本是以ANSI 為核心, WinNT/2K/XP 以Unicode 為核心, 則無此問題

修改的目標是要重新產生一個ISO, 讓WinME 以前版本都能正確執行無誤

修改步驟:
1. 先產生一個ISO (Mode1/2048 bytes), 方法略
2. 以WinISO 把事先已知的簡體字檔名或檔案匣都更正, 萬一遇到WinISO 都無法正確顯示的檔案匣, 那就以CDmage 先了解檔案匣內容
3. 以UltraEdit 開啟ISO, 然後搜尋造成WinISO無法顯示的簡體字檔名的HEX code, 這裡有幾個技巧, 第一, UltraEdit 設定不要備份(Backup) & 不要開啟暫存檔(Temp), 以便加速作業, 但是要非常小心, 因為萬一改錯是不容易修正的, 第二, 如果是要搜尋一般文字, 可以直接輸入ASCII or HEX, 如果是要搜尋長檔名, 那就要在HEX 之間插入 "00", 由於長檔名有經過編碼, 所以最簡單的修改方式就是先全部改成空白 "20 00", 再以WinISO 改成中文
4. 如果要修改Autorun.exe, 可以用IsoBuster 擷取出來, 先以UltraEdit 找出要修改的部分特徵, 然後直接修改ISO
5. 改好的ISO 先以Daemon Tools 測試是否正確

其實小弟事先以CDmage 配合著書, 先花了一點時間研究ISO9660, 然後才逐步了解Primary/Suplementary Volume Descriptor, Path Table 以及長檔名, 原來要尋找長檔名, 可以由LSN17 (M:S:F=00:02:17) 找下去就可以找到, 而由LSN16 可以找到8.3 的檔名

以上由於過程複雜, 小弟不建議各位採用, 想練功的朋友倒是可以拿任何光碟練習一下, 會遇到的問題很多(繁簡變換, 內碼表, 長檔名), 相信您會像小弟一樣收穫不少

Socrates
2002-08-04, 02:43 AM
如果我沒有理解錯的話.......
我覺得在改ISO的時候
只要把無法讀取的目錄改成1,2,3..................
之後再把ISO檔解出來
這樣就可以進目錄了
若需燒成光碟.......再把對應的1,2,3...........
改成需要的繁體中文~~~~~~
這樣會輕鬆點.......

FYI
2002-08-05, 12:57 AM
謝謝, 題目應該是無解, 小弟卻把它改成探討燒錄技術了, 有點跑錯了討論版, 此外, 小弟把問題複雜化了, 一心只想盡量 "忠於原著", 才會陷入泥沼, 其實重新編製ISO, 才是最簡單而且不容易出錯的方法, 還是您的見解比較正確

C.C.
2002-08-16, 03:11 AM
我會用 WINHEX 程式直接修改 Directory sector 將其改成英文檔名, 這樣便沒有問題.
但必須熟悉 Directory sector 的結構 (包含長檔名)