我RTF
文件ANSI
進行編碼,而它包含Arabic
短語。我試圖讀取這個文件,但無法用正確的編碼讀取它。無法讀取RTF文件ANSI包含阿拉伯語Charachters
RTF文件:
{\rtf1\fbidis\ansi\deff0{\fonttbl{\f0\fnil\fcharset178 MS Sans Serif;}{\f1\fnil\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\ltrpar\lang12289\f0\rtlch\fs16\'ca\'d1\'cc\'e3\'c9: \'d3\'e3\'ed\'d1 \'c7\'e1\'e3\'cc\'d0\'e6\'c8\f1\ltrch\par
}
和我的Java代碼:
RTFEditorKit rtf = new RTFEditorKit();
Document doc = rtf.createDefaultDocument();
rtf.read(new InputStreamReader(new FileInputStream("Document.rtf"), "windows-1256"),doc,0);
System.out.println(doc.getText(0,doc.getLength()));
和錯誤的輸出是:
ÊÑÌãÉ: ÓãíÑ ÇáãÌÐæÈ
據我所看到的,擺不配套,默默忽略,您的RTF文件的'\ fcharset178'指令並沒有什麼可以做它作爲參與這一進程的所有相關類是非'public '... – Holger
那麼有什麼方法可以替換'RTF'文件中的某些字符來正確讀取它?或者一般情況下有o JAVA庫從'RTF'文件中讀取阿拉伯字符? – Jason4Ever