我使用以下方法获得所有支持的字符集:
Object[] Charsets = Charset.availableCharsets().keySet().toArray();
我现在需要遍历可以在该charset中编码的每个字符。为此,我考虑使用每个编码的最大字节数,并为每个字节通过Byte.MIN_VALUE
到Byte.MAX_VALUE
。然后,我将该字节数组传递给接受String
数组和特定编码的byte[]
构造函数。
但是找不到任何关于如何确定特定字符集中字符表示的最大长度(字节)的线索。
我尝试使用空格字符(即“”)以该编码创建字符串并使用.getBytes("<specific charset>").length
。但是我相信这只适用于固定大小的字符集。有一些字符集,其中字符的编码可以有可变的字节数。
这不是商业软件,因此不需要漂亮的解决方案。我需要为每个支持的字符集创建一种可视化地图。每个字符表示都写入图像。我也不确定如何选择能够正确显示字符集的所有字符的字体。
有什么想法吗?
答案 0 :(得分:2)
charset.newEncoder().maxBytesPerChar()