3

我发现这个优秀的 SO question要求区分字符与字符编码。这是有道理的:本质上,字符集是可供使用的字形集,其各自的编码是每个字形如何与二进制转换。

然后我去了Java 7 SE CharsetAPI 文档,惊讶地看到一个getEncoding()方法但没有相应的setter。所以看起来,至少在 Java 领域,每个字符集都被“绑定”到预先配置的编码。

这让我想到:为什么这里没有二传手?为什么 Java 不允许用户定义用于将一组字符绑定到二进制文件的编码?

同样,如果 Java 不支持特定的字符集/编码怎么办?有没有办法使用自定义集/编码来扩展 JRE?

4

2 回答 2

7

因为 Java 所谓的 Charset 就是您所说的编码。CharSet 的文档将 Charset 描述为:

十六位 Unicode 代码单元序列和字节序列之间的命名映射。

顺便说一句,Charset 中没有getEncoding()方法。

于 2013-02-26T13:16:20.983 回答
1

对于这个问题:

同样,如果 Java 不支持特定的字符集/编码怎么办?有没有办法使用自定义集/编码来扩展 JRE?

Java 几乎支持您可能想要的任何编码:http: //docs.oracle.com/javase/7/docs/technotes/guides/intl/encoding.doc.html

于 2013-03-02T13:14:18.177 回答