当前位置:主页 > 网页教程 > 网络编程 > Java教程 > 内容欢迎大家投稿

Java的HTMLDecoder,将HTML特殊字符解码还原

时间:2009-10-11 21:00来源:未知 作者:大宝库 点击:读取中
阅读工具:字体:

package com.laozizhu.search.util;  
 
import java.util.HashMap;  
 
/** 
 * 替换HTMl里面的字符 e.g.: < > " å И 水 
 *  
 * @author 老紫竹(laozizhu.com) 
 */ 
public class HTMLDecoder {  
 
  public static final HashMap<String, Character> charTable;  
 
  public static String decode(String s) {  
    String t;  
    Character ch;  
    int tmpPos, i;  
 
    int maxPos = s.length();  
    StringBuffer sb = new StringBuffer(maxPos);  
    int curPos = 0;  
    while (curPos < maxPos) {  
      char c = s.charAt(curPos++);  
      if (c == '&') {  
        tmpPos = curPos;  
        if (tmpPos < maxPos) {  
          char d = s.charAt(tmpPos++);  
          if (d == '#') {  
            if (tmpPos < maxPos) {  
              d = s.charAt(tmpPos++);  
              if ((d == 'x') || (d == 'X')) {  
                if (tmpPos < maxPos) {  
                  d = s.charAt(tmpPos++);  
                  if (isHexDigit(d)) {  
                    while (tmpPos < maxPos) {  
                      d = s.charAt(tmpPos++);  
                      if (!isHexDigit(d)) {  
                        if (d == ';') {  
                          t = s.substring(curPos + 2, tmpPos - 1);  
                          try {  
                            i = Integer.parseInt(t, 16);  
                            if ((i >= 0) && (i < 65536)) {  
                              c = (char) i;  
                              curPos = tmpPos;  
                            }  
                          } catch (NumberFormatException e) {  
                          }  
                        }  
                        break;   (责任编辑:大宝库)



------分隔线----------------------------
推荐内容
  • Java新手入门很重要的几个基本概念

    final类:为防止他人从你的类上派生新类,此类是不可扩展的。 动态调用比静态调用花费...

  • Java主要特性

    1、Java语言是简单的 。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容...

  • Java语言特点

    Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植...

  • 什么是Java?

    Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言...

  • 编写高效Java代码 java.lang.String类和java.

    养成好的代码编写习惯非常重要,比如正确地、巧妙地运用java.lang.String类和java.uti...

赞助商链接
赞助商链接