2016-12-20 104 views
0

我正在從傳統系統移植數據,但我不確定它在內部使用什麼編碼來存儲數據。我注意到,數據對應於ASCII碼值(即字符ë,或帶有分音符的小寫字母e,按照this圖表存儲爲字節值137)。將擴展的ASCII字符代碼轉換爲ISO-8859-1

我需要使用目標系統的ISO-8859-1對數據進行編碼,但顯然使用原樣的數據會得到不正確的結果(在I​​SO-8859-1中,每米勒符號由十進制137表示,根據this圖表)。

我需要一些建議,說明讀取數據時可以使用什麼編碼 - 即與十進制ASCII碼值對應的編碼。

回答

1

我發現我的答案在this SO貼子。原來代碼頁437對應於擴展的ASCII字符代碼。因此,我能夠對數據進行如下重新編碼:

var output = Encoding.Convert(Encoding.GetEncoding(437), Encoding.GetEncoding("ISO-8859-1"), input);