将unicode转换成utf-8格式

private static String decodeUnicode(String str){
char mchar;
int len=str.length();
StringBuffer sb=new StringBuffer(len);
for(int i=0;i<len;){
mchar=str.charAt(i++);
if(mchar=='\\'){
mchar=str.charAt(i++);
if(mchar=='u'){
int value=0;
for(int j=0;j<4;j++){
mchar=str.charAt(i++);
switch (mchar) {
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
value=(value<<4)+mchar-'0';
break;
case 'a':
case 'b':
case 'c':
case 'd':
case 'e':
case 'f':
value=(value<<4)+10+mchar-'a';
break;
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
value=(value<<4)+10+mchar-'A';
break;
default:
throw new IllegalArgumentException("Malformed   \\uxxxx   encoding.");
}
}
sb.append((char)value);
}else{
if(mchar=='t'){
mchar='\t';
}else if(mchar=='r'){
mchar='\r';
}else if(mchar=='n'){
mchar='\n';
}else if(mchar=='f'){
mchar='\f';
}
sb.append(mchar);
}
}else{
sb.append(mchar);
}
}
return sb.toString();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值