这是我的问题;我有一个已转换为字节数组的 InputStream,但在运行时我不知道 InputStream 的字符集。我最初的想法是在 UTF-8 中做所有事情,但我发现编码为 ISO-8859-1 并具有外来字符的流存在奇怪的问题。(那些疯狂的瑞典人)
这是有问题的代码:
IOUtils.toString(inputstream, "utf-8")
// Fails on iso8859-1 foreign characters
为了模拟这一点,我有:
new String("\u00F6")
// Returns ö as expected, since the default encoding is UTF-8
new String("\u00F6".getBytes("utf-8"), "utf-8")
// Also returns ö as expected.
new String("\u00F6".getBytes("iso-8859-1"), "utf-8")
// Returns \uffff, the unknown character
我错过了什么?