我有結構如下一個UTF8文件的以下問題:的Java解析UTF8
FIELD1§FIELD2§FIELD3§FIELD4
看着它採用A7
編纂該文件的十六進制值§
。所以根據這個編碼它應該是UTF8,但它很奇怪,因爲A7
>7F
所以1個字節不應該足以編碼§
。
於是,我就直接使用一個BufferedReader
與指定的字符集:
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(input), utf8))
但是當我嘗試
SmartTokenizer st = new SmartTokenizer(toTokenize, "§")
(在SmartTokenizer
來標記字符串是StringTokenizer
的修改版本,保留空標記)
不發生分裂,如果我嘗試打印字符串,我獲得
FIELD1?FIELD2?FIELD3?...
所以在文件中使用§
是從指定爲分隔符的不同,它不是能夠打印出這一點。
那麼這裏有什麼問題?也許原始文件應該使用2個字節來存儲§
?
是的,我試圖在標準等之間進行轉換後,我正在尋找錯誤的方向..我只是告訴BufferedReader根據ISO-8859-1字符集閱讀..謝謝! – Jack 2010-04-06 17:03:01