2013-08-07 38 views
1

我正在使用Java編輯一些包含記錄的文本文件。那些文件是由舊系統處理的,大多數可能是使用Mazovia(wiki)編碼。我無法找到正確處理文件的方法,它開始讓我頭疼。如何處理Mazovia編碼文本

當我用我的Java代碼編輯文本文件時,系統在其中找到了額外的字符,破壞了整個記錄結構(字符位置很重要)。

如何編輯這些文件而不引入任何其他字符/打破編碼?正確顯示所有字符會很好,但如果不可能,我會盡量不要打破記錄結構。

+0

不確定「Mazovia」在這裏意味着什麼 - 它會匹配任何ISO-8859變體嗎? http://en.wikipedia.org/wiki/ISO-8859 –

+1

編碼可能是「Cp437」(DOS)。 'byte [] bytes = ...;新的字符串(字節。「Cp437」);' –

回答

1

如果您在讀寫時使用例如ISO-8859-1,則不會破壞文件,因爲每個字節都映射到一個字符,而每個字符映射到一個字節。 (任何具有這些特徵的編碼都可以)

閱讀時你不會得到正確的Unicode字符(爲此,你必須實現一個自定義的Charset,我不確定這是多少工作),但至少你不會破壞文件。