- import java.util.regex.*;
- public class 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);
- }
- 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
- }
- }