none
EBCDIC轉成BIG5 RRS feed

  • 問題

  •  

    請問如何寫個轉碼程式,將EBCDIC轉成BIG5呢

    目前是透過CLIENT ACCESS 的API來達成

    不知VS2008 C#,可否直接轉,謝謝

    2008年10月9日 上午 07:41

所有回覆

  • 2008年10月10日 上午 08:38
  •  

    感謝您

    這好像只能處理非中文(37),如果主機下行資料有中文(937),要如何處理,感恩

    2008年10月13日 上午 06:31
  • 請問您有解決 cp937<->big5 的方法嗎
    2009年4月15日 下午 02:29
  • IBM CP937 EBCDIC 繁中  確實在Windows裡面都沒有此Code Page

    但是還是有方法轉出來的

    假設你有一個純文字檔案 裡面是 IBM CP937 EBCDIC 繁中 編碼

    那你用 Encoding.GetEncoding(37) 去讀取

    會發現 英數字部份 都讀的到 繁中部分是亂碼


    但是如果直接用NotePad打開那個文字檔 你會發現繁中部份其實以Big5碼讀取是讀取的到的

    因此如果你以  Encoding.GetEncoding(37)  讀取完後 可以區分出 哪些區段是 繁中字的部份

    那後面就很好處理

    Encoding.GetEncoding("big5").GetString(Encoding.GetEncoding(37).GetBytes(繁中資料)).Replace("@", " ").Trim

    繁中資料 就是 Encoding.GetEncoding(37)讀出來並切割後的 繁中字串..再把他讀成 Byte

    然後強制以Encoding.GetEncoding("big5").GetString 去讀出來

    就可以讀出你要的中文字 然後就隨便你存了

    至於後面的@ 是因為 IBM CP937 EBCDIC 繁中 編碼  以Big去開的時候 空字元 會以 @來顯示

    所以才會這樣子處理

    我測試過這樣子處理一定ok

    但是前提是 你要有辦法把繁中部份單獨區隔開來.. 

    2010年8月26日 上午 06:40