Ana*_*man 8 java character-encoding
我用Java编程
我有以下代码:
byte[] b = test.getBytes();
Run Code Online (Sandbox Code Playgroud)
在api中指定如果我们不指定字符编码,则采用默认的平台字符编码.
"默认平台字符编码"是什么意思?
这是指Java编码还是操作系统编码?
如果它意味着操作系统编码,我该如何检查Windows和Linux的默认字符编码?反正我们可以使用命令行获取默认字符编码吗?
Bal*_*usC 32
系统属性file.encoding是特定于JVM供应商的.在这种特定情况下,它仅适用于Sun JVM,并且可能无法在Sun之外的其他供应商的JVM上运行.
而是使用提供的Java SE API Charset#defaultCharset().
Charset defaultCharset = Charset.defaultCharset();
Run Code Online (Sandbox Code Playgroud)
这表示您正在运行的JVM的默认字符编码,
要检查默认编码,您可以执行以下操作:
System.getProperty("file.encoding");
Run Code Online (Sandbox Code Playgroud)
这将返回默认编码(以及上面的getBytes()使用的编码)。