java htmldecoder_Java的HTMLDecoder,将HTML特殊字符解码还原(3)

break;

}

}

}

}

}

sb.append(c);

}

return sb.toString();

}

private static boolean isLetterOrDigit(char c) {

return isLetter(c) || isDigit(c);

}

private static boolean isHexDigit(char c) {

return isHexLetter(c) || isDigit(c);

}

private static boolean isLetter(char c) {

return ((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z'));

}

private static boolean isHexLetter(char c) {

return ((c >= 'a') && (c <= 'f')) || ((c >= 'A') && (c <= 'F'));

}

private static boolean isDigit(char c) {

return (c >= '0') && (c <= '9');

}

public static String compact(String s) {

int maxPos = s.length();

StringBuffer sb = new StringBuffer(maxPos);

int curPos = 0;

while (curPos < maxPos) {

char c = s.charAt(curPos++);

if (isWhitespace(c)) {

while ((curPos < maxPos) && isWhitespace(s.charAt(curPos))) {

curPos++;

}

c = '\u0020';

}

sb.append(c);

}

return sb.toString();

}

// HTML is very particular about what constitutes white space.

public static boolean isWhitespace(char ch) {

return (ch == '\u0020') || (ch == '\r') || (ch == '\n') || (ch == '\u0009') || (ch == '\u000c') || (ch == '\u200b');

}

static {

charTable = new HashMap();

charTable.put("quot", new Character((char) 34));

charTable.put("amp", new Character((char) 38));

charTable.put("apos", new Character((char) 39));

charTable.put("lt", new Character((char) 60));

charTable.put("gt", new Character((char) 62));

charTable.put("nbsp", new Character((char) 160));

charTable.put("iexcl", new Character((char) 161));

charTable.put("cent", new Character((char) 162));

charTable.put("pound", new Character((char) 163));

charTable.put("curren", new Character((char) 164));

charTable.put("yen", new Character((char) 165));

charTable.put("brvbar", new Character((char) 166));

charTable.put("sect", new Character((char) 167));

charTable.put("uml", new Character((char) 168));

charTable.put("copy", new Character((char) 169));

charTable.put("ordf", new Character((char) 170));

charTable.put("laquo", new Character((char) 171));

charTable.put("not", new Character((char) 172));   (责任编辑:大宝库)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值