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