2014-03-25 32 views
1

我通過讓所有支持的字符集:如何以編程方式確定特定字符集中字符的最大字節數?

Object[] Charsets = Charset.availableCharsets().keySet().toArray(); 

我現在需要通過在該字符集編碼每個字符進行迭代。爲此,我考慮使用每個編碼的最大字節數,並對每個字節通過Byte.MIN_VALUEByte.MAX_VALUE。然後,我將該字節數組傳遞給String構造函數,該構造函數接受byte[]數組和特定的編碼。

但無法找到任何線索,我可以如何確定特定字符集中字符表示的最大字節長度。

我嘗試使用空格字符(即「」)在該編碼中創建一個字符串並使用.getBytes("<specific charset>").length。不過,我相信這隻適用於固定大小的字符集。有一些字符編碼可以包含可變字節數的字符集。

這不是一個商業軟件,所以它不需要漂亮的解決方案。我需要爲每個支持的字符集創建一種視覺映射。每個字符表示被寫入一個圖像。我也不確定我應該如何選擇能夠正確顯示字符集的所有字符的字體。

有什麼想法?

回答

2
charset.newEncoder().maxBytesPerChar() 
+0

我不能相信我錯過了。非常感謝你。我會盡快接受答案。 –

相關問題