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