在Java中确定平台的默认字符集

时间:2010-04-20 17:50:33

标签: java character-encoding

我用Java编程

我的代码为:

byte[] b = test.getBytes();

在api中指定如果我们不指定字符编码,则采用默认的平台字符编码。

“默认平台字符编码”是什么意思?

是指Java编码还是操作系统编码?

如果它意味着操作系统编码,我该如何检查Windows和Linux的默认字符编码?无论如何我们可以使用命令行获取默认字符编码吗?

2 个答案:

答案 0 :(得分:31)

系统属性file.encoding是JVM供应商特定的。在这种特定情况下,它仅适用于Sun JVM,并且可能无法在Sun之外的其他供应商的JVM上运行。

而是使用提供Charset#defaultCharset()的Java SE API。

Charset defaultCharset = Charset.defaultCharset();

答案 1 :(得分:4)

它表示您正在运行的JVM的默认字符编码,

要检查默认编码,您可以执行以下操作:

System.getProperty("file.encoding");

将返回默认编码(以及上面的getBytes()使用的编码。)