<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小毅收藏之------Java式實現JS的Escape以及Unescape

    Posted on 2009-10-14 14:04 H2O 閱讀(1547) 評論(0)  編輯  收藏 所屬分類: java
    public class EscapeUnescape {

        
    public static String escape(String src) {
            
    int i;
            
    char j;
            StringBuffer tmp 
    = new StringBuffer();
            tmp.ensureCapacity(src.length() 
    * 6);
            
    for (i = 0; i < src.length(); i++{
                j 
    = src.charAt(i);
                
    if (Character.isDigit(j) || Character.isLowerCase(j)
                        
    || Character.isUpperCase(j))
                    tmp.append(j);
                
    else if (j < 256{
                    tmp.append(
    "%");
                    
    if (j < 16)
                        tmp.append(
    "0");
                    tmp.append(Integer.toString(j, 
    16));
                }
     else {
                    tmp.append(
    "%u");
                    tmp.append(Integer.toString(j, 
    16));
                }

            }

            
    return tmp.toString();
        }


        
    public static String unescape(String src) {
            StringBuffer tmp 
    = new StringBuffer();
            tmp.ensureCapacity(src.length());
            
    int lastPos = 0, pos = 0;
            
    char ch;
            
    while (lastPos < src.length()) {
                pos 
    = src.indexOf("%", lastPos);
                
    if (pos == lastPos) {
                    
    if (src.charAt(pos + 1== 'u'{
                        ch 
    = (char) Integer.parseInt(src
                                .substring(pos 
    + 2, pos + 6), 16);
                        tmp.append(ch);
                        lastPos 
    = pos + 6;
                    }
     else {
                        ch 
    = (char) Integer.parseInt(src
                                .substring(pos 
    + 1, pos + 3), 16);
                        tmp.append(ch);
                        lastPos 
    = pos + 3;
                    }

                }
     else {
                    
    if (pos == -1{
                        tmp.append(src.substring(lastPos));
                        lastPos 
    = src.length();
                    }
     else {
                        tmp.append(src.substring(lastPos, pos));
                        lastPos 
    = pos;
                    }

                }

            }

            
    return tmp.toString();
        }


        
    public static void main(String[] args) {
            String tmp 
    = "中文";
            System.out.println(
    "testing escape : " + tmp);
            tmp 
    = escape(tmp);
            System.out.println(tmp);
            System.out.println(
    "testing unescape :" + tmp);
            System.out.println(unescape(
    "%u6211%u4eec"));
        }

    }

    以上為一個工具類,為解決中文亂碼
    html前臺:escape(escape('你好'))
    后臺:String txt=EscapeUnescape.unescape(aStringText); 

    escape本身參數編碼為ISO8859-1,escape中文傳替給servlet會直接為null接收不到,經過以上特殊處理即可解決!其他方法也可,如:手動轉碼...

    posts - 0, comments - 21, trackbacks - 0, articles - 101

    Copyright © H2O

    主站蜘蛛池模板: 羞羞网站免费观看| 美女黄频a美女大全免费皮| 毛片在线播放免费观看| 亚洲日本一区二区三区在线 | 亚洲中文无码线在线观看| 日韩插啊免费视频在线观看| 亚洲无线电影官网| 18禁止看的免费污网站| 亚洲中文字幕一二三四区| 成年在线观看免费人视频草莓| 国产精品亚洲综合久久| 真实乱视频国产免费观看| 特黄特色大片免费| 亚洲熟妇无码八AV在线播放| 免费人成黄页在线观看日本| 亚洲精品成人网站在线播放| 成人免费午夜在线观看| 噜噜噜亚洲色成人网站| 中文字幕亚洲日本岛国片| 国产精品免费无遮挡无码永久视频 | 亚洲日韩精品国产一区二区三区| 日韩视频免费一区二区三区| 一区免费在线观看| 久久精品夜色国产亚洲av| 99久久久精品免费观看国产| 色偷偷亚洲第一综合| 亚洲真人无码永久在线| 91九色老熟女免费资源站| 精品国产亚洲一区二区三区在线观看 | 中文字幕无码亚洲欧洲日韩| 免费看小12萝裸体视频国产| a级毛片视频免费观看| 亚洲 欧洲 视频 伦小说| 亚洲人午夜射精精品日韩| 99re6在线精品视频免费播放| 亚洲人成电影网站免费| 亚洲欧洲日产国码av系列天堂| 日本妇人成熟免费中文字幕| 一区二区三区免费在线视频| 亚洲女人18毛片水真多| 亚洲精品tv久久久久|