什么是DEFAULT_ENCODING

时间:2014-05-05 14:28:39

标签: findbugs

在findbugs中,我在theis部分有几个交战:DEFAULT_ENCODING 看起来我必须添加编码代码“UTF-8”来解决它。

说明是:

  

找到一个方法的调用,该方法将对String执行一个字节(或   字符串到字节)转换,并将假定为默认平台   编码是合适的。这将导致应用程序行为   因平台而异。使用备用API并指定charset   明确地命名或Charset对象。

他们对替代API的意义是什么? (使用备用API并明确指定charset名称或Charset对象。)

如何修复此警告?

Reader reader = null;
    try {
        reader = new FileReader(store);

1 个答案:

答案 0 :(得分:1)

这完全取决于产生数据的内容以及将要使用的内容。备用API使用的方法允许您指定Charsetcharset namelocale。没有自动修复代码的方法。

作为程序员,您必须检查数据的上下文并选择正确的字符集或区域设置。大多数平台上的默认设置通常是正确的选择,但FindBugs会警告您默认的可能因平台而异。要解决此警告,您必须提供您认为的原始背景' raw'或者' plain'数据通过指定显式字符集。

例如,

reader = new FileReader(store, "UTF-8");

要深入了解该问题,请查看 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)Turkish i bug