为什么我在Java String中有 ?

时间:2016-05-25 10:35:21

标签: java string encoding decode

我有一个字符串decoded/encoded/encrypted通过一个很长的过程(file writing/reading参与其中)。

在解码后我的“clear-text”字符串的开头我有两个奇怪的字符:

这是什么?为什么会这样?如何摆脱它?

感谢。

编辑:

这是我写文件的方式:

try {
   FileOutputStream out = new FileOutputStream(filePath);
   out.write(string.getBytes());
   out.close();
} catch (Exception e) {
   //handle exception
}

1 个答案:

答案 0 :(得分:1)

我几乎可以保证它是一个编码问题

  1. 永远不要使用new String(byte[])(总是通过字符集)
  2. 永远不要使用new InputStreamReader(inputStream)(总是通过字符集)
  3. 永远不要使用String.getBytes()(总是通过字符集)
  4. 确保编辑器(例如记事本)使用与写入文件相同的编码进行阅读
  5. 如果您没有明确传递字符集,则会选择默认值。在java中,对于UNIX / Windows,这将是不同的(除非您明确设置了file.encoding系统属性)。