У меня есть следующее значение в строковой переменной в Java, которая имеет символы UTF-8, закодированные, как показано ниже
Dodd\u2013Frank
вместо
Dodd–Frank
(Предположим, что у меня нет контроля над тем, как это значение присваивается этой строковой переменной)
Теперь, как я могу его правильно преобразовать (закодировать) и сохранить в переменной String
?
Я нашел следующий код
Charset.forName("UTF-8").encode(str);
Но это возвращает ByteBuffer
, но я хочу вернуть String
.
Edit
Дополнительная информация.
Когда я использую System.out.println(str);
, я получаю
Dodd\u2013Frank
Я не уверен, что такое правильная терминология (UTF-8 или unicode). Простите меня за это.