JVM 的默认编码是什么?

2022-08-31 14:36:43

UTF-8 是 Java 中的默认编码吗?
如果没有,我如何知道默认情况下使用哪种编码?


答案 1

JVM 的缺省字符集是运行它的系统的字符集。这没有特定的值,您通常不应该依赖于默认编码是任何特定值。

如果这对您有任何用处,则可以在运行时通过 访问它,尽管实际上您应该始终在可以这样做时明确指定编码Charset.defaultCharset()


答案 2

请注意,您可以使用名称混乱的属性 更改 JVM 的缺省编码。file.encoding

如果您的应用程序对编码特别敏感(可能是通过使用暗示默认编码的 API),那么您应该在 JVM 启动时将其显式设置为一致(已知)值。


推荐