Iso 8859 1 Can';t be:org.apache.commons.io.IOUtils中的错误?
为什么这两个代码块会产生不同的字节数组 Apache Commons IO 2.4:Iso 8859 1 Can';t be:org.apache.commons.io.IOUtils中的错误?,iso-8859-1,apache-commons-io,Iso 8859 1,Apache Commons Io,为什么这两个代码块会产生不同的字节数组 Apache Commons IO 2.4: Charset iso_8859_1 = Charset.availableCharsets().get("ISO-8859-1"); return IOUtils.toByteArray(new FileReader(getResourceFile(filename)), iso_8859_1); JDK: 告诉我我看到了重影…尝试使用FileInputStream,因为无法使用FileReader指定字符
Charset iso_8859_1 = Charset.availableCharsets().get("ISO-8859-1");
return IOUtils.toByteArray(new FileReader(getResourceFile(filename)), iso_8859_1);
JDK:
告诉我我看到了重影…尝试使用FileInputStream,因为无法使用FileReader指定字符集
IOUtils.toByteArray(new InputStreamReader(new FileInputStream(getResourceFile(filename)), "ISO-8859-1"), "ISO-8859-1")
字符“é”似乎得到了不同的字节值…IOUtils给出了正确的0xE9值-jdk代码给出了2个字节:0xC3 0xA9,所以这可能是InputStreamReader或OutputStreamWriter中的错误-或者我完全遗漏了什么?误解了方法的javadoc-charset参数指定了字节数组应该如何表示角色,而不是如何从读者那里读。。。
IOUtils.toByteArray(new InputStreamReader(new FileInputStream(getResourceFile(filename)), "ISO-8859-1"), "ISO-8859-1")