日期:2014-05-19 浏览次数:20944 次
/**
* 将页面传递的Unicode字符编码转换成相应的汉字
* */
public class GetStringByString {
private String string;
public GetStringByString(String string){
this.string=string;
}
public String getUnicodeString(){
if(!isIllegal(this.string)){
return this.string;
}
String[] s=this.string.split(";");
StringBuffer sb=new StringBuffer();
for(int i=0;i<s.length;i++){
if(isHave(s[i])){
String s1=s[i].substring(0, s[i].indexOf("&"));
sb.append(s1);
String s2=s[i].substring(s[i].indexOf("#")+1);
sb.append((char)Integer.parseInt(s2));
}
else{
sb.append(s[i]);
}
}
return sb.toString();
}
//判断是否存在&#
private boolean isHave(String s){
for(int i=0;i<s.length();i++){
if(s.charAt(i)=='&'&&s.charAt(i+1)=='#'){
return true;
}
}
return false;
}
//判断是否存在;
private boolean isIllegal(String s){
for(int i=0;i<s.length();i++){
if(s.charAt(i)==';'&&s.charAt(i-6)=='#'&&s.charAt(i-7)=='&'){
return true;
}
}
return false;
}
}