java - BufferedReader 返回 ISO-8859-15 字符串 - 如何转换为 UTF16 字符串?

标签 java character-encoding

我有一个 FTP 客户端类,它返回指向文件的 InputStream。我想用 BufferedReader 逐行读取文件。问题是,客户端以二进制模式返回文件,并且文件具有 ISO-8859-15 编码。

最佳答案

如果文件/流/任何真正包含 ISO-8859-15 编码的文本,您只需要在创建 InputStreamReader 时指定:

BufferedReader br = new BufferedReader(
    new InputStreamReader(ftp.getInputStream(), "ISO-8859-15"));

然后 readLine() 将以 Java 的 native 编码(UTF-16,而不是 UTF-8)创建有效的字符串。

关于java - BufferedReader 返回 ISO-8859-15 字符串 - 如何转换为 UTF16 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1069922/

相关文章:

java - Selenium Webdriver click()没有做任何事情

java - 控制台输出中的 IntelliJ IDEA 编码不正确

捷克语 MessageResource.getMessage() 的 Spring ResourceBundleMessageSource 编码

java - JUnit5:在不重复代码的情况下测试多个类

character-encoding - 字符编码和问题

javascript - PDFkit js如何将文档保存到文件(Win 8应用程序)

java - Android:NoClassDefFoundError:java.nio.charset.StandardCharsets 在 SDK 18 上发送电子邮件

java - 如何在多线程应用程序中存储线程

java - 使用 JDBCRealm 时出现异常

java - 将列表写入文件