Convert escaped Unicode character back to actual character
java, unicode, utf-8, utf8-decode
Solution
try
str = org.apache.commons.lang3.StringEscapeUtils.unescapeJava(str);
from Apache Commons Lang
Problem
I have the following value in a string variable in Java which has UTF-8 characters encoded like below ``` Dodd\u2013Frank ``` instead of ``` Dodd–Frank ``` (Assume that I don't have control over how this value is assigned to this string variable) Now how do I convert (encode) it properly and store it back in a `String` variable? I found the following code ``` Charset.forName("UTF-8").encode(str); ``` But this returns a `ByteBuffer`, but I want a `String` back. Edit: Some more additional information. When I use `System.out.println(str);` I get ``` Dodd\u2013Frank ``` I am not sure what is the correct terminology (UTF-8 or unicode). Pardon me for that.