unicode的html页面编码转换成中文

代码:

private static String convertToChinese(String dataStr) {
System.out.println("--------data str---->" + dataStr);
if(dataStr == null || dataStr.length() == 0) {
return dataStr;
}
int start = 0;
int end = 0;
final StringBuffer buffer = new StringBuffer();
while (start > -1) {
int system = 10;// 进制
if (start == 0) {
int t = dataStr.indexOf("&#");
if (start != t)
start = t;
if(start > 0) {
buffer.append(dataStr.substring(0, start));
}
if(start == -1) {
return dataStr;
}
}
end = dataStr.indexOf(";", start + 2);
String charStr = "";
if (end != -1) {
charStr = dataStr.substring(start + 2, end);
// 判断进制
char s = charStr.charAt(0);
if (s == 'x' || s == 'X') {
system = 16;
charStr = charStr.substring(1);
}
// 转换
try {
char letter = (char) Integer.parseInt(charStr, system);
buffer.append(new Character(letter).toString());
} catch (NumberFormatException e) {
e.printStackTrace();
}
}

// 处理当前unicode字符到下一个unicode字符之间的非unicode字符
start = dataStr.indexOf("&#", end);
if (start - end > 1) {
buffer.append(dataStr.substring(end + 1, start));
}
// 处理最后面的非 unicode字符
if (start == -1) {
int length = dataStr.length();
if (end + 1 != length) {
buffer.append(dataStr.substring(end + 1, length));
}
}
}
return buffer.toString();
}


Sample input:
[quote]
Ahimsa Vegetarian Restaurant健康煮营养餐厅
[/quote]

Sample output:
[quote]
Ahimsa Vegetarian Restaurant健康煮营养餐厅
[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值