@A1994Y

Ответ от сервера в кодировке (u043a\u0430\u043a-\u0442\) как Декодировать?

Совершаю такой запрос:
HttpURLConnection urlConnection = null;

            try {
                urlConnection = (HttpURLConnection) new URL(urlConn).openConnection();
                urlConnection.setRequestMethod("GET");
                urlConnection.setUseCaches(false);
                urlConnection.connect();

                BufferedReader input = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UNICODE"));
                String line;
                while ((line = input.readLine()) != null){
                         sb.append(line);
                         sb.append("\n");
                }


На выходе вижу нужный тэгu и в нем "043a\u0430\u043a-\u0442\" непонятные символы, я так понял кодировка Unicode, но как получить русский язык вместо символов.
  • Вопрос задан
  • 343 просмотра
Решения вопроса 1
BorLaze
@BorLaze
Java developer
Если воспользоваться https://www.online-toolz.com/tools/text-unicode-en... то видно, что данные представляют из себя "как-т"

Еще один момент - new InputStreamReader(urlConnection.getInputStream(), "UNICODE") - InputStreamReader не знает такой кодировки, как "UNICODE"

Если открыть доку по этому классу, то можно увидеть, что корректное значение charset будет - "UTF-8"

PS: удивительно, но не сработало. Помогает
BufferedReader input = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), StandardCharsets.UTF_8));
+
sb.append(StringEscapeUtils.unescapeJava(line));
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@X-nautilus
Попробуй задать кодировку строке
line=new String(line = input.readLine(), StandardCharsets.UTF_8)


Думаю поможет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽
07 мая 2024, в 15:10
1500 руб./в час
07 мая 2024, в 15:07
1500 руб./в час
07 мая 2024, в 14:56
2000 руб./за проект