我需要將文件從EBCDIC(IBM 937)轉換爲UTF-8。任何想法如何使用CharsetICU(icu4j API)進行字符集轉換?字符集轉換的CharsetICU java示例
0
A
回答
1
無需使用外部庫來做到這一點的轉換(略異常處理):
Reader r = new InputStreamReader(new FileInputStream(...), "IBM937");
Writer w = new OutputStreamWriter(new FileOuputStream(...), "UTF-8");
char[] buf = new char[65536];
int size = 0;
while ((size = r.read(buf)) != -1)
w.write(buf, 0, size);
r.close();
w.close();
1
認爲你應該能夠使用CharsetICU。 forNameICU(「ibm-937」),那麼你可以將得到的字符集傳遞給讀寫器。
0
這不是一個字符集轉換,這是一個使用ICU庫的「音譯」例子。
版本:ICU4J 53.1
套餐:com.ibm.icu.text.Transliterator
Transliterator.getInstance("Latin-ASCII").transliterate("Your text");
其中: 「拉丁-ASCII」 是 「字符集合」 你需要(注意:此不是一種編碼)。你可以使用Transliterator.getAvailableIDs()來檢查可用的ID;
對於 「拉丁-ASCII」:
Given "123" returns "123"
Given "abc" returns "abc"
Given "Š Œ ñ" returns "S OE n"
相關問題
- 1. 字符集轉換Java
- 2. 的Java:建議對字符集轉換
- 3. 字符集轉換
- 4. java控制檯字符集轉換
- 5. Java類型轉換示例
- 6. Java字符轉換
- 7. 的java字符串轉換
- 8. Java集合將字符串轉換爲字符列表
- 9. Java - 從字符集編碼轉換爲字節字符串的新字符串
- 10. PHP字符集轉換
- 11. 蟒蛇字符集轉換
- 12. 轉換的java字符串轉換成JavaScript字符串
- 13. 字符串轉換成Java
- 14. 轉換字符串在Java
- 15. Java Postfix字符串轉換
- 16. Java - 將字符串轉換爲字符[]
- 17. 參數struts2中的字符集轉換
- 18. Java的字符串轉換字節
- 19. Java:將一個集合轉換爲一個字符串表示的數組
- 20. ASCII到XML的字符集轉換
- 21. C#轉換字節[]到字符串字符集
- 22. AS3:轉換爲GBK字符集
- 23. 用於字符串轉換的Hadoop MapReduce示例
- 24. Java - JNI - 將UCS-2字符轉換爲jchar(即Java的字符)
- 25. 將字符集名稱轉換爲NSStringEncoding
- 26. 的Java字節轉換(以字符串形式)轉換成字符串
- 27. Java的轉換集合
- 28. 將字符串轉換爲數據集
- 29. Apache Tika做字符集轉換嗎?
- 30. Google webfont子集示例字符串
試過這個了。由於某種原因,它不會執行轉換。 輸出應該是這樣的: 僔働咗卆匜叀卼卋卆卐 而不是它的表現是這樣的: VPそあじょほいあお – SNL 2011-03-14 14:02:15
@SNL:它看起來非常奇怪。根據http://www.fileformat.info/info/unicode/char/5350/charset_support.htm,U +5350卐根本不能在IBM 937中表示。您確定您的輸入是IBM 937嗎?你能展示它的十六進制表示嗎? – axtavt 2011-03-14 16:48:36
這是正確的,我也仔細檢查發射機。我們在ebcdic中有一個文件,而在utf-8中有另一個版本。 你碰巧知道各種編碼之間的十六進制值是否保持相同? – SNL 2011-03-14 17:20:52