/**
* Convert HTML character enitities(Unicode) to part of a Java String
* hiwa 8 Mar. 2004
* comment rewritten 30 May 2006
*/
import java.util.regex.*;
public class UTF8CeToJavaString{ //this class name is misleading
//it should have been UnicodeCeToJavaString
static final String mbs = "(\\d+);"; //like "ロ"
public static String EncodeCesToChars(String paramStr){
String mbChar;
StringBuffer sb = new StringBuffer();
Pattern pat = Pattern.compile(mbs);
Matcher mat = pat.matcher(paramStr);
while (mat.find()){
mbChar = getMbCharStr(mat.group(1)); //pass the digit part
mat.appendReplacement(sb, mbChar);
}
mat.appendTail(sb);
return new String(sb);
}
/* worker method */
static String getMbCharStr(String digits){ //handle "12525" part which is a
char[] cha = new char[1]; //Unicode value stringnized
try{
int val = Integer.parseInt(digits);
char ch = (char)val;
cha[0] = ch;
}
catch(Exception e){
System.err.println("Error from getMbCharStr:");
e.printStackTrace(System.err);
}
return new String(cha); //easy!, because Java uses Unicode
}
}