我正在編寫一個Java(7 SE)應用程序來攝取各種基於文本的輸入,並且擔心會遇到字符集/編碼,而JRE不會支持(例如,這個應用程序將在Linux上運行,但會攝入每個主要操作系統上生成的文件等)。在Java中處理不受支持和/或多個字符集的輸入
首先,如果InputStreamReader
遇到不受支持的字符集/編碼,是否有辦法捕獲IOException
(或類似的)?
那麼包含多個編碼的輸入呢?假設我們有4種不同類型的輸入:
- 生
java.lang.String
小號 - 明文(
.txt
)文件 - 字(
.docx
)文件 - PDF文件
,如果我們什麼讀取其中一個輸入,我們開始遇到多個(但支持)字符編碼? JRE本身處理這個問題,還是必須有多個閱讀器,每個閱讀器都配置了它自己的字符集/編碼?
在這種情況下,我可以將流輸入「標準化」爲單一的標準化(UTF-8最可能)集/編碼嗎?提前致謝。
我希望我更願意將流式輸入「標準化」爲單個標準化(UTF-8最有可能)集合/編碼。考慮一個明確的情況,其中一些新的編碼格式來了,您必須更改實現。轉換轉換爲UTF-8標準,讓您的代碼更安全 – chiru 2013-02-26 13:27:22