将特殊字符作为Unicode存储



我们必须经常处理特殊字符。可悲的是,到目前为止,还没有特别注意编码。您可以猜测,我们总是最终会得到一种或另一种的编码问题。

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

现在,我不太确定我们应该如何从其他具有不同编码的系统中处理输入,我们应该将特殊字符转换为Unicode,并且是否有关于如何处理这些内容的好API或惯例?

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

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

string orig必须反射此表。然后,您可以在代码中执行任何您想做的事情,因为Java将其内部存储在UTF8中。如果要在不同的编码中再次持续使用它,则将使用带有明确指定编码的双OutputStreamWriter

最新更新