Возможно, на мой вопрос уже ответили на StackoverFlow, но я не могу его найти. Моя проблема проста: я запрашиваю данные через API, и возвращаемые данные содержат символы Юникода, например:
"SpecialOffer":[{"title":"Offre Vente Priv\u00e9e 1 jour 2019 2020"}]
Мне нужно преобразовать "\ u00e9e" в "é". Я не могу сделать "replaceAll", потому что я не могу знать все символы, которые будут заранее.
Я пытаюсь это сделать:
byte[] utf8 = reponse.getBytes("UTF-8")
String string = new String(utf8, "UTF-8");
Но строка все еще имеет "\ u00e9e "
Также это:
byte[] utf8 = reponse.getBytes(StandardCharsets.UTF_8);
String string = new String(utf8, StandardCharsets.UTF_8);
Также пробовал это:
string = string.replace("\\\\", "\\");
byte[] utf8Bytes = null;
String convertedString = null;
utf8Bytes = string.getBytes("UTF8") -- Or StandardCharsets.UTF_8 OR UTF-8 OR UTF_8;
convertedString = new String(utf8Bytes, "UTF8") -- Or StandardCharsets.UTF_8 OR UTF-8 OR UTF_8;;
System.out.println(convertedString);
return convertedString;
Но это тоже не работает.
Я тестировал другие методы, но я думаю, что я удалил все, как это не сработало, поэтому я не могу показать их здесь.
Я уверен, что есть очень простой метод, но я не должен искать с правильным словарем на целое rnet. Можете ли вы помочь мне, пожалуйста?
Я sh вам очень хороший день, и большое спасибо заранее.