從 ConvertZ 轉過來
RustZ 以 ConvertZ 8.02 與 ConCmd 1.5 為藍本。這一頁整理兩邊怎麼對應、哪裡不一樣。
對照
| ConvertZ/ConCmd | RustZ |
|---|---|
ConvertZ.exe | rustz(圖形介面) |
ConCmd.exe | rustz-cli |
ConCmd.ini、ConvertZ.ini | RustZ.ini,[Data] 區段的鍵相同,見設定檔 |
b5fix.dat、gbfix.dat、BI_TradFix.dat、BI_SimFix.dat | 已內建在「ConvertZ 相容」引擎(使用 8.02 的 BI 版本) |
| 自訂詞彙修正表 | 自訂詞典(格式與意思不同,見下文) |
| 剪貼簿轉換、常駐工具列 | 文字轉換頁的剪貼簿轉換、常駐背景 |
| 資料夾/檔案名稱的編碼轉換 | 檔名轉換(繁簡轉換) |
批次檔裡的 ConCmd 換成 rustz-cli 通常就能用:
bat
rem 原本
ConCmd D:\Projects\app.js /o:UTF8
rem 改成
rustz-cli D:\Projects\app.js /o:UTF8行為上的差異
| 項目 | ConCmd | RustZ |
|---|---|---|
| 繁簡轉換 | 逐字+修正表 | 預設改用 OpenCC 詞庫(以詞彙為單位);要跟原版一樣請用 /e:convertz |
省略 /f: | 依輸出編碼一律轉換 | 只在文字確實是另一種字形時才轉換(繁體的 UTF-8 檔輸出成 Big5 不會再做簡 → 繁) |
| 備份檔名 | 檔名.bak(取代副檔名) | 原檔名.bak(附加在後面),a.txt 與 a.js 的備份不會互相覆蓋;已存在的備份不會被蓋掉(改用 .1.bak、.2.bak…) |
| 參數前綴 | / 或 - | /;- 只在 Windows 接受,因為 macOS/Linux 上叫 -y 的檔案可能被當成參數 |
| 無法解碼的位元組 | 照樣寫入 | 沒有備份就不覆寫原檔,除非加 /force;有檔案被略過時結束碼是 1 |
| UTF-8 BOM | ConCmd.ini 的 AddBOMtoUTF8=1 | 預設不加(與 ConvertZ 8.01 以後相同),可用 /bom 或設定檔 |
| 第二個參數已存在 | 直接覆寫 | 需要 /y,避免 shell 展開萬用字元後誤把輸入檔當成輸出檔 |
| 多個輸入檔 | 一個樣式 | 也接受多個檔名,各自覆寫原檔 |
| 內容沒變的檔案 | 照樣重寫 | 不重寫,保留修改時間 |
| 二進位檔 | 依副檔名忽略 | 另外偵測內容,含 NUL 位元組的檔案略過(指定 /i: 時照常轉換) |
| 寫入方式 | 直接覆寫 | 先寫暫存檔再更名 |
| 平台 | Windows | macOS、Windows、Linux |
修正表與自訂詞典不一樣
ConvertZ 的修正表比對的是逐字轉換之後的文字:左欄是「轉錯的結果」,右欄是「正確的寫法」,而且只用在一個方向。RustZ 的自訂詞典比對的是原文:一組「簡體 ↔ 繁體」,兩個方向都用,而且優先於內建詞庫。
所以舊的修正表不能直接匯入自訂詞典。ConvertZ 8.02 內建的修正表已經完整收在 ConvertZ 相容引擎裡;你自己加過的修正詞條,請改寫成 簡體<Tab>繁體 的格式再加入自訂詞典。