Przekonwertuj unikatowy znak Unicode z powrotem na rzeczywisty znak

Mam następującą wartość w zmiennej łańcuchowej w Javie, która ma zakodowane znaki UTF-8, jak poniżej

Dodd\u2013Frank

zamiast

Dodd–Frank

(Załóżmy, że nie mam kontroli nad tym, jak ta wartość jest przypisana do tej zmiennej łańcuchowej)

Teraz, jak przekonwertować (zakodować) go poprawnie i zapisać go z powrotem wString zmienna?

Znalazłem następujący kod

Charset.forName("UTF-8").encode(str);

Ale to zwraca aByteBuffer, ale chcęString z powrotem.

Edytować:

Więcej dodatkowych informacji.

Kiedy używamSystem.out.println(str); dostaję

Dodd\u2013Frank

Nie jestem pewien, jaka jest poprawna terminologia (UTF-8 lub Unicode). Przepraszam za to.

questionAnswers(6)

yourAnswerToTheQuestion