我发现这个优秀的 SO question要求区分字符集与字符编码。这是有道理的:本质上,字符集是可供使用的字形集,其各自的编码是每个字形如何与二进制转换。
然后我去了Java 7 SE Charset
API 文档,惊讶地看到一个getEncoding()
方法但没有相应的setter。所以看起来,至少在 Java 领域,每个字符集都被“绑定”到预先配置的编码。
这让我想到:为什么这里没有二传手?为什么 Java 不允许用户定义用于将一组字符绑定到二进制文件的编码?
同样,如果 Java 不支持特定的字符集/编码怎么办?有没有办法使用自定义集/编码来扩展 JRE?