亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? stringutils.java

?? 非常棒的java數(shù)據(jù)庫
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * Copyright 2004-2008 H2 Group. Licensed under the H2 License, Version 1.0
 * (http://h2database.com/html/license.html).
 * Initial Developer: H2 Group
 */
package org.h2.util;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import org.h2.constant.ErrorCode;
import org.h2.constant.SysProperties;
import org.h2.engine.Constants;
import org.h2.message.Message;

/**
 * A few String utility functions.
 */
public class StringUtils {

    public static boolean equals(String a, String b) {
        if (a == null) {
            return b == null;
        }
        return a.equals(b);
    }

    public static String toUpperEnglish(String s) {
        return s.toUpperCase(Locale.ENGLISH);
    }

    public static String toLowerEnglish(String s) {
        return s.toLowerCase(Locale.ENGLISH);
    }

    public static String getDefaultCharset() {
        return SysProperties.FILE_ENCODING;
    }

    public static String quoteStringSQL(String s) {
        StringBuffer buff = new StringBuffer(s.length() + 2);
        buff.append('\'');
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '\'') {
                buff.append(c);
            } else if (c < ' ' || c > 127) {
                // need to start from the beginning because maybe there was a \
                // that was not quoted
                return "STRINGDECODE(" + quoteStringSQL(javaEncode(s)) + ")";
            }
            buff.append(c);
        }
        buff.append('\'');
        return buff.toString();
    }

    public static String javaEncode(String s) {
        StringBuffer buff = new StringBuffer(s.length());
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            switch (c) {
//            case '\b':
//                // BS backspace
//                // not supported in properties files
//                buff.append("\\b");
//                break;
            case '\t':
                // HT horizontal tab
                buff.append("\\t");
                break;
            case '\n':
                // LF linefeed
                buff.append("\\n");
                break;
            case '\f':
                // FF form feed
                buff.append("\\f");
                break;
            case '\r':
                // CR carriage return
                buff.append("\\r");
                break;
            case '"':
                // double quote
                buff.append("\\\"");
                break;
            case '\\':
                // backslash
                buff.append("\\\\");
                break;
            default:
                int ch = (c & 0xffff);
                if (ch >= ' ' && (ch < 0x80)) {
                    buff.append(c);
                // not supported in properties files
                // } else if(ch < 0xff) {
                // buff.append("\\");
                // // make sure it's three characters (0x200 is octal 1000)
                // buff.append(Integer.toOctalString(0x200 | ch).substring(1));
                } else {
                    buff.append("\\u");
                    // make sure it's four characters
                    buff.append(Integer.toHexString(0x10000 | ch).substring(1));
                }
            }
        }
        return buff.toString();
    }

    public static String addAsterisk(String s, int index) {
        if (s != null && index < s.length()) {
            s = s.substring(0, index) + "[*]" + s.substring(index);
        }
        return s;
    }

    private static SQLException getFormatException(String s, int i) {
        return Message.getSQLException(ErrorCode.STRING_FORMAT_ERROR_1, addAsterisk(s, i));
    }

    public static String javaDecode(String s) throws SQLException {
        StringBuffer buff = new StringBuffer(s.length());
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '"') {
                break;
            } else if (c == '\\') {
                if (i >= s.length()) {
                    throw getFormatException(s, s.length() - 1);
                }
                c = s.charAt(++i);
                switch (c) {
                case 't':
                    buff.append('\t');
                    break;
                case 'r':
                    buff.append('\r');
                    break;
                case 'n':
                    buff.append('\n');
                    break;
                case 'b':
                    buff.append('\b');
                    break;
                case 'f':
                    buff.append('\f');
                    break;
                case '#':
                    // for properties files
                    buff.append('#');
                    break;
                case '=':
                    // for properties files
                    buff.append('=');
                    break;
                case ':':
                    // for properties files
                    buff.append(':');
                    break;
                case '"':
                    buff.append('"');
                    break;
                case '\\':
                    buff.append('\\');
                    break;
                case 'u': {
                    try {
                        c = (char) (Integer.parseInt(s.substring(i + 1, i + 5), 16));
                    } catch (NumberFormatException e) {
                        throw getFormatException(s, i);
                    }
                    i += 4;
                    buff.append(c);
                    break;
                }
                default:
                    if (c >= '0' && c <= '9') {
                        try {
                            c = (char) (Integer.parseInt(s.substring(i, i + 3), 8));
                        } catch (NumberFormatException e) {
                            throw getFormatException(s, i);
                        }
                        i += 2;
                        buff.append(c);
                    } else {
                        throw getFormatException(s, i);
                    }
                }
            } else {
                buff.append(c);
            }
        }
        return buff.toString();
    }

    public static String quoteJavaString(String s) {
        if (s == null) {
            return "null";
        } else {
            return "\"" + javaEncode(s) + "\"";
        }
    }

    public static byte[] utf8Encode(String s) throws SQLException {
        try {
            // TODO UTF8: String.getBytes("UTF-8") only returns 1 byte for
            // 0xd800-0xdfff
            return s.getBytes(Constants.UTF8);
        } catch (UnsupportedEncodingException e) {
            throw Message.convert(e);
        }
    }

    public static String utf8Decode(byte[] utf8) {
        try {
            return new String(utf8, Constants.UTF8);
        } catch (UnsupportedEncodingException e) {
            throw Message.convertToInternal(e);
        }
    }

    public static String utf8Decode(byte[] bytes, int offset, int length) {
        try {
            return new String(bytes, offset, length, Constants.UTF8);
        } catch (UnsupportedEncodingException e) {
            throw Message.convertToInternal(e);
        }
    }

    public static String quoteJavaStringArray(String[] array) {
        if (array == null) {
            return "null";
        }
        StringBuffer buff = new StringBuffer(5 * array.length);
        buff.append("new String[]{");
        for (int i = 0; i < array.length; i++) {
            if (i > 0) {
                buff.append(", ");
            }
            buff.append(quoteJavaString(array[i]));
        }
        buff.append("}");
        return buff.toString();
    }

    public static String quoteJavaIntArray(int[] array) {
        if (array == null) {
            return "null";
        }
        StringBuffer buff = new StringBuffer(2 * array.length);
        buff.append("new int[]{");
        for (int i = 0; i < array.length; i++) {
            if (i > 0) {
                buff.append(", ");
            }
            buff.append(array[i]);
        }
        buff.append("}");
        return buff.toString();
    }

    public static String enclose(String s) {
        if (s.startsWith("(")) {
            return s;
        } else {
            return "(" + s + ")";
        }
    }

    public static String unEnclose(String s) {
        if (s.startsWith("(") && s.endsWith(")")) {
            return s.substring(1, s.length() - 1);
        } else {
            return s;
        }
    }

    public static String urlEncode(String s) {
//#ifdef JDK14
        try {
            return URLEncoder.encode(s, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
            return s;
        }
//#endif
//#ifdef JDK13
/*
        return URLEncoder.encode(s);
*/
//#endif
//        byte[] utf = utf8Encode(s);
//        StringBuffer buff = new StringBuffer(utf.length);
//        for(int i=0; i<utf.length; i++) {
//
//            buff.append()
//        }
    }

    public static String urlDecode(String encoded) throws SQLException {
        byte[] buff = new byte[encoded.length()];
        int j = 0;
        for (int i = 0; i < encoded.length(); i++) {
            char ch = encoded.charAt(i);
            if (ch == '+') {
                buff[j++] = ' ';
            } else if (ch == '%') {
                buff[j++] = (byte) Integer.parseInt(encoded.substring(i + 1, i + 3), 16);
                i += 2;
            } else {
                if (SysProperties.CHECK && (ch > 127 || ch < ' ')) {
                    throw new IllegalArgumentException("unexpected char " + (int) ch + " decoding " + encoded);
                }
                buff[j++] = (byte) ch;
            }
        }
        String s = utf8Decode(buff, 0, j);
        return s;
    }

    public static String[] arraySplit(String s, char separatorChar, boolean trim) {
        if (s == null) {
            return null;
        }
        if (s.length() == 0) {
            return new String[0];
        }
        ArrayList list = new ArrayList();
        StringBuffer buff = new StringBuffer(s.length());
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线视频| 一区二区三区四区在线| 久久激情综合网| 精品成人私密视频| 国产一区二区三区四区五区美女| 久久亚洲精精品中文字幕早川悠里 | 成人精品亚洲人成在线| 国产欧美日韩亚州综合| 97久久超碰国产精品电影| 中文字幕五月欧美| 欧美日韩一卡二卡| 精品一区二区日韩| 国产精品久久久久一区二区三区| 91麻豆精品在线观看| 日韩主播视频在线| 久久久久久免费网| 一本色道综合亚洲| 蜜臀精品一区二区三区在线观看| 精品国产网站在线观看| 97久久精品人人澡人人爽| 午夜精品久久久久久久蜜桃app| 日韩一区二区三区在线| 成人丝袜视频网| 五月激情综合婷婷| 国产日韩欧美综合在线| 在线免费精品视频| 国产一区二区中文字幕| 亚洲综合在线电影| 久久综合九色综合欧美就去吻| 97国产精品videossex| 蜜臀va亚洲va欧美va天堂| 国产精品精品国产色婷婷| 欧美高清www午色夜在线视频| 夫妻av一区二区| 欧美a级理论片| 亚洲欧美视频在线观看视频| 欧美一区二区三区四区五区| 99精品一区二区三区| 蜜臀精品久久久久久蜜臀| 亚洲人精品午夜| 久久综合狠狠综合久久综合88 | 欧美精品粉嫩高潮一区二区| 国产风韵犹存在线视精品| 亚洲成a人在线观看| 国产精品免费久久久久| 日韩精品一区二区三区在线播放| 91麻豆免费视频| 国产激情视频一区二区在线观看 | 国产精品欧美一区喷水| 日韩一区二区三区免费看 | 成人黄色在线视频| 麻豆精品在线视频| 丝袜诱惑制服诱惑色一区在线观看 | 午夜婷婷国产麻豆精品| 国产精品国产三级国产普通话蜜臀 | 午夜免费欧美电影| 亚洲色图视频网| 国产欧美精品在线观看| 精品国产乱子伦一区| 在线播放中文一区| 欧美日韩三级一区| 欧美亚洲一区二区在线观看| 99久久久国产精品免费蜜臀| 成人综合婷婷国产精品久久蜜臀| 久久er精品视频| 日韩电影在线一区二区三区| 亚洲午夜久久久久中文字幕久| 中文字幕亚洲欧美在线不卡| 亚洲国产精品黑人久久久| 久久青草国产手机看片福利盒子| 欧美变态凌虐bdsm| 日韩欧美国产系列| 日韩精品在线一区二区| 日韩亚洲国产中文字幕欧美| 欧美挠脚心视频网站| 欧美日韩一区三区四区| 欧美日韩精品一区二区三区蜜桃| 欧美亚洲国产bt| 欧美精品三级日韩久久| 欧美男女性生活在线直播观看| 欧美日韩你懂得| 欧美挠脚心视频网站| 日韩写真欧美这视频| 日韩欧美国产综合| 久久先锋影音av鲁色资源| 久久男人中文字幕资源站| 欧美激情一区二区三区四区| 中文字幕欧美日本乱码一线二线| 日本一区二区三区在线观看| 中文字幕在线不卡视频| 亚洲精品乱码久久久久久久久| 一卡二卡三卡日韩欧美| 日韩中文欧美在线| 精品一区二区三区av| 春色校园综合激情亚洲| 日本韩国欧美在线| 欧美疯狂做受xxxx富婆| 欧美α欧美αv大片| 久久九九久精品国产免费直播| 中文字幕av一区二区三区高 | 国产一区二区在线影院| 成人看片黄a免费看在线| 91官网在线免费观看| 91精品欧美一区二区三区综合在| 欧美变态tickling挠脚心| 亚洲国产精品传媒在线观看| 一区二区三区波多野结衣在线观看| 亚洲成av人片一区二区梦乃| 激情综合色综合久久| av在线播放一区二区三区| 欧美日韩国产不卡| 久久日韩粉嫩一区二区三区| 亚洲男人的天堂在线aⅴ视频| 午夜不卡在线视频| 成人一区二区三区中文字幕| 欧美亚洲高清一区| 国产三级精品三级| 一区二区三区欧美日韩| 国产在线精品一区二区夜色| 色综合一区二区| 久久这里都是精品| 亚洲成人av免费| 丰满放荡岳乱妇91ww| 欧美日韩一区二区三区四区| 国产午夜亚洲精品不卡| 亚洲成a天堂v人片| 99r精品视频| 精品国产sm最大网站| 亚洲五月六月丁香激情| 国产成人综合自拍| 91精选在线观看| 亚洲免费在线观看| 国产69精品一区二区亚洲孕妇| 欧美日韩国产片| 亚洲欧美另类久久久精品2019| 久久精品国产精品亚洲红杏 | 青青草成人在线观看| 99久久99久久精品免费观看| 精品国产欧美一区二区| 亚洲大片在线观看| 91视视频在线直接观看在线看网页在线看| 欧美一级欧美一级在线播放| 一区二区久久久久| 91亚洲精品久久久蜜桃网站| 国产日韩精品一区| 看国产成人h片视频| 在线播放国产精品二区一二区四区| 亚洲少妇30p| eeuss影院一区二区三区| 精品成a人在线观看| 天天做天天摸天天爽国产一区| 91猫先生在线| 国产精品传媒入口麻豆| 国产成人福利片| 久久久久久久久久久久电影| 老司机精品视频一区二区三区| 欧美巨大另类极品videosbest| 一区二区三区中文字幕精品精品| 成人免费毛片app| 欧美国产精品中文字幕| 国产麻豆日韩欧美久久| 精品成a人在线观看| 韩国在线一区二区| 精品日韩一区二区三区| 久久99精品久久久| 精品国产乱码久久久久久影片| 久久国产精品72免费观看| 日韩一卡二卡三卡四卡| 奇米一区二区三区av| 日韩欧美激情四射| 狠狠色丁香久久婷婷综| 久久精品亚洲麻豆av一区二区 | 7777女厕盗摄久久久| 日韩avvvv在线播放| 欧美一区二区三区免费大片| 日本不卡1234视频| 久久综合久久综合久久| 粉嫩aⅴ一区二区三区四区| 日本一区二区三区电影| 成人av电影在线网| 亚洲精品五月天| 91精品久久久久久蜜臀| 狠狠狠色丁香婷婷综合久久五月| 久久夜色精品国产欧美乱极品| 国产成人av一区| 一区二区三区中文字幕电影| 欧美人妖巨大在线| 国产美女娇喘av呻吟久久| 国产精品美女一区二区| 欧美在线看片a免费观看| 日日夜夜一区二区| 精品国产乱码久久久久久免费 | 国产精品一区二区三区99| 制服丝袜激情欧洲亚洲| 日韩av成人高清| 欧美极品另类videosde| 欧洲av一区二区嗯嗯嗯啊| 麻豆91精品91久久久的内涵| 国产区在线观看成人精品| 色久综合一二码|