String.getBytes()在不同的默认字符集中

vic*_*ico 5 java encoding

使用String.getBytes()是否安全?当程序在具有不同默认值的不同系统上运行时会发生什么charset?我想我可以获得不同的内容byte[]?是否可以定义首选字符集Java 1.4?

Mat*_*all 16

使用String.getBytes()是否安全?

不应该.您应该始终使用指定字符集的重载; 理想情况下,无处不在使用UTF-8.如果您使用的是现代版本的Java,则您的代码可StandardCharsets用于Good Clean Living.

当程序在具有不同默认字符集的不同系统上运行时会发生什么?

代码解释风险字符数据用错误编码,产生破碎/不正确字符串(例如:"î","ÃÂ","ü")和/或替换字符().

是否可以在java 1.4中定义首选字符集?

不可以.平台默认是由平台决定的,而不是您的应用程序.