Я анализирую поток ввода с Facebook. Я использую что-то вроде
BufferedReader in =
new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"));
А затем in.readLine
для фактического чтения из потока.
Похоже, что в потоке уже есть символы Юникода, уже закодированные в ASCII, поэтому я вижу такие вещи, как \ u00e4 (при этом \ u фактически является двумя дискретными символами ASCII). Прямо сейчас я ловлю «\ u» и декодирую последующие два шестнадцатеричных байта, превращаю их в символ и заменяю их строкой, что, очевидно, является худшим способом сделать это.
Я уверен, что есть крутой способ использовать встроенную функцию для декодирования специальных символов во время чтения потока (я надеялся, что это можно сделать на уровне InputStreamReader). Но как?