当前位置: 首页 > 面试题库 >

将已知编码的文件转换为UTF-8

锺离高丽
2023-03-14
问题内容

我需要将文本文件转换为String,最后,我应该将其作为输入参数(类型InputStream)放入IFile.create(Eclipse)。寻找示例或方法,但仍然不知道…需要您的帮助!

只是为了测试,我确实尝试将原始文本文件转换为使用此代码编码的UTF-8

FileInputStream fis = new FileInputStream(FilePath);
InputStreamReader isr = new InputStreamReader(fis);

Reader in = new BufferedReader(isr);
StringBuffer buffer = new StringBuffer();

int ch;
while ((ch = in.read()) > -1) {
    buffer.append((char)ch);
}
in.close();


FileOutputStream fos = new FileOutputStream(FilePath+".test.txt");
Writer out = new OutputStreamWriter(fos, "UTF8");
out.write(buffer.toString());
out.close();

但即使以为最终的* .test.txt文件具有UTF-8编码,里面的字符也已损坏。


问题答案:

您需要InputStreamReader使用Charset参数指定的编码。

                                    // ↓ whatever the input's encoding is
Charset inputCharset = Charset.forName("ISO-8859-1");
InputStreamReader isr = new InputStreamReader(fis, inputCharset));

这也适用:

InputStreamReader isr = new InputStreamReader(fis, "ISO-8859-1"));

您可以通过运行时获取默认字符集-该字符集来自JVM正在运行的系统Charset.defaultCharset()



 类似资料:
  • 我需要将多个CSV文件(使用不同的编码)转换为UTF-8。 这是我的代码: 当我尝试运行此代码时,我得到以下错误: UnicodeDecodeError:'utf-8'编解码器无法解码位置5057的字节0xf3:无效的延续字节 有人能帮我吗?谢谢

  • 本文向大家介绍PHP 将ASCII转换为UTF-8编码,包括了PHP 将ASCII转换为UTF-8编码的使用技巧和注意事项,需要的朋友参考一下 如果我们知道当前的编码是ASCII,则可以使用'iconv'函数将ASCII转换为UTF-8。原始字符串可以作为参数传递给iconv函数,以将其编码为UTF-8。 示例 具有特殊字符的字符串被分配给'str'变量。它以当前所在的编码以及需要转换为的编码传递

  • 我有一个简单的服务器端代码,它接受请求xml并将其作为字符串插入Oracle数据库Clob列。问题是客户端发送带有CP1251编码文本的请求xml,但我需要使用UTF-8编码将其插入Oracle。现在我用于CP1251的代码是: 此代码识别CP1251中编码的文本。这项任务是使用UTF-8编码的可读文本进行相同的操作。请提出任何意见。 我尝试了这个,但它产生了不可读的字符,而不是西里尔:

  • 在我的Silverlight应用程序中,我得到了一个用windows-1252编码的XML文件。现在我的问题,它不会正确显示,直到Windows-1252字符串转换为UTF8字符串。在一个正常的C#环境中,这不会是一个大问题:在那里我可以做这样的事情: (将字符串的字符编码从windows-1252转换为utf-8) 但是silverlight不支持windows-1252,它只支持unicode

  • 问题内容: 请给我帮助。我正在使用一个Java应用程序,它将数据从txt文件转换为数据库,问题是该文件具有ANSI编码,由于它来自我的应用程序之外,并且当我将数据写到该文件时,我无法更改。数据库我有一些“ ???” 内。我的问题是,如何将从文件中读取的数据从ANSI转换为可以处理这些奇怪符号的UTF-8。我试过了Byte []到String的转换,但是没有用。 问题答案: 使用像这样打开一个解码阅

  • 本文向大家介绍php自动识别文件编码并转换为UTF-8的方法,包括了php自动识别文件编码并转换为UTF-8的方法的使用技巧和注意事项,需要的朋友参考一下 PHP转换文件编码是一个比较简单的事情,但是在开发中传递中文参数的时候,有时候不知道是什么编码,结果造成了乱码的现象。这里有个非常方便的解决办法,可以自动识别编码并转换为UTF-8。具体代码如下: