Java和Unicode

时间:2011-08-19 13:28:42

标签: java unicode

我有一个应用程序,使用java将html转换为excel电子表格。在Excel中有一些字符无法正确呈现。很可能是编码问题。我需要一种方法将java中的字符串转换为unicode(UTF-16),以便excel正确呈现它们。

2 个答案:

答案 0 :(得分:3)

假设您已经在Java应用程序中获得了内容,则需要确保使用正确的编码编写文件。

要指定特定编码,您必须创建一个OutputStreamWriter:

Writer out = new BufferedWriter(
                 new OutputStreamWriter(
                     new FileOutputStream(file), "UTF-16"));

答案 1 :(得分:2)

看起来String.getBytes(Charset charset)是您正在寻找的方法。它允许您使用给定的编码将字符串转换为字节数组。 (与使用默认编码的String.getBytes()相反)

您的代码可能是这样的:

byte[] myOutput = myString.getBytes(CharsetProvider.charsetForName("UTF-16"));

有关详细信息,请参阅Javadocs