将特殊字符存储为unicode

时间:2012-10-30 09:48:41

标签: java encoding

我们必须经常处理特殊字符。遗憾的是,直到现在还没有特别关注编码。你可以猜到我们总是会遇到这种或那种编码问题。

我们目前正在努力将所有特殊字符更改为unicode(在属性文件和代码中(我知道这不符合良好的编码习惯,但我们暂时无法更改)。

现在我不太确定我们应该如何处理来自其他具有不同编码的系统的输入,我们是否应该将特殊字符转换为unicode?是否有任何关于如何处理这些问题的良好API或约定?

1 个答案:

答案 0 :(得分:0)

如果您知道原始编码,可以使用

进行转换
String orig = "Cp1250"
BufferedReader r = new BufferedReader(new InputStreamReader(is, orig));

字符串orig必须反映此table。然后,您可以在代码中执行任何操作,因为Java将其内部存储在UTF8中。如果您想以不同的编码再次保留它,您将使用具有明确指定编码的双OutputStreamWriter