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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gfstring.java

?? 基于java語言的分詞系統
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
/*
 * Created on 2004-5-31
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package org.ictclas4j.utility;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;

/**
 * 和字符串相關的常用操作
 * 
 * @author SINBOY
 * @version V1.1
 */
public class GFString {

	/**
	 * 得到一個十六進制字符的二進制字符串表示形式
	 * 
	 * @param hex
	 *            十六進制字符
	 * @return 二進制字符串
	 */
	public static String hex2bin(String hex) {
		if (hex != null) {

			HashMap<String, String> map = new HashMap<String, String>(16);
			map.put("0", "0000");
			map.put("1", "0001");
			map.put("2", "0010");
			map.put("3", "0011");
			map.put("4", "0100");
			map.put("5", "0101");
			map.put("6", "0110");
			map.put("7", "0111");
			map.put("8", "1000");
			map.put("9", "1001");
			map.put("A", "1010");
			map.put("B", "1011");
			map.put("C", "1100");
			map.put("D", "1101");
			map.put("E", "1110");
			map.put("F", "1111");

			return (String) map.get(hex.toUpperCase());
		} else
			return null;
	}

	public static String hexstr2bin(String hex) {
		String result = null;

		if (hex != null) {
			if (isHex(hex) == false)
				return null;

			hex += "0";
			result = "";
			for (int i = 0; i < hex.length() - 1; i++) {
				result += hex2bin(hex.substring(i, i + 1));
			}

		}
		return result;
	}

	public static boolean isHex(String hex) {
		if (hex != null) {
			hex = hex.toUpperCase();
			for (int i = 0; i < hex.length(); i++) {
				int value = hex.charAt(i);
				if (value < 48 || (value > 57 && value < 65) || value > 70)
					return false;
			}
		} else
			return false;

		return true;
	}

	/**
	 * 把字符串轉化成指定長度的數組
	 * 
	 * @param str
	 *            要轉換的字符串
	 * @param len
	 *            指定的轉換后的字節類型的數據的總長度
	 * @param end
	 *            字節數據的最后一個字節所填的數據的值
	 * @return 字節數組
	 */
	public static byte[] getBytes(String str, int start, int len) {
		byte[] b = null;

		if (str != null) {
			byte[] b1 = str.getBytes();
			b = GFCommon.bytesCopy(b1, start, len);

		}

		return b;
	}

	/**
	 * 返回按指定編碼方式編碼的字符串
	 * 
	 * @param bArray
	 *            字節數組
	 * @param charsetName
	 *            字符集
	 * @return
	 */
	public static String getEncodedString(byte[] bArray, String charsetName) {
		String ch = null;
		if (charsetName != null) {

			try {
				ch = new String(bArray, charsetName);
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
		}

		return ch;

	}

	/**
	 * 把表示一個數的十六進制的字符串轉化成十進制的數
	 * 
	 * @param hex
	 *            十六進制字符串
	 * @return 十進制的整數
	 */
	public static long hexstr2long(String hex) {
		long value = 0;

		if (hex != null) {
			hex = hex.toUpperCase();
			if (hex.length() > 16)
				hex = hex.substring(0, 16);

			if (isHex(hex)) {

				byte[] b = hexstr2bytes(hex);
				value = GFCommon.bytes2long(b);
			}
		}

		return value;
	}

	/**
	 * 把字符串轉化成固定長的字符串。如果不夠指定的長度,在前面添加指定的字符; 如果大于指定的長度,把后面多出的去掉。
	 * 
	 * @param str
	 *            要轉換的字符串
	 * @param len
	 *            轉換后的長度
	 * @param appendChar
	 *            添加的字符
	 * @return 轉換后的字符串
	 */
	public static String getFixedLenStr(String str, int len, char appendChar) {
		if (str == null || len < 0)
			return null;
		else {

			int strLen = 0;
			strLen = str.length();
			if (len <= strLen) {
				str = str + appendChar;
				return str.substring(0, len);
			} else {
				for (int i = 0; i < len - strLen; i++)
					str = appendChar + str;
				return str;
			}
		}
	}

	/**
	 * 把一個二進制字符串的轉化成一個整數
	 * 
	 * @param bs
	 *            二進制字符串
	 * @return 二進制字符串表示的值
	 */
	public static long bin2long(String bs) {
		long value = 0;

		if (bs != null && bs.length() <= 64) {
			byte[] b = bin2bytes(bs);
			value = GFCommon.bytes2long(b);

		}

		return value;
	}

	public static String bin2hex(String bin) {
		String hex = null;
		HashMap<String, String> map = new HashMap<String, String>(16);
		map.put("0000", "0");
		map.put("0001", "1");
		map.put("0010", "2");
		map.put("0011", "3");
		map.put("0100", "4");
		map.put("0101", "5");
		map.put("0110", "6");
		map.put("0111", "7");
		map.put("1000", "8");
		map.put("1001", "9");
		map.put("1010", "A");
		map.put("1011", "B");
		map.put("1100", "C");
		map.put("1101", "D");
		map.put("1110", "E");
		map.put("1111", "F");

		if (bin != null && bin.length() <= 4) {
			if (isBinstr(bin)) {
				for (int i = 0; i < 4 - bin.length(); i++)
					bin = "0" + bin;

				hex = (String) map.get(bin);
			}
		}
		return hex;
	}

	public static String bin2hexstr(String bin) {
		String hex = null;

		if (bin != null) {
			if (isBinstr(bin)) {
				int ys = bin.length() % 4;
				for (int i = 0; ys != 0 && i < 4 - ys; i++)
					bin = "0" + bin;
				bin += "0";
				hex = "";
				for (int i = 0; i < bin.length() - 4; i += 4) {
					String h = bin2hex(bin.substring(i, i + 4));
					if (h != null) {
						if (h.equals("0")) {
							if (!hex.equals(""))
								hex += h;
						} else
							hex += h;
					}
				}

				if (hex.equals(""))
					hex = "0";
			}
		}
		return hex;
	}

	public static byte bin2byte(String bin) {
		byte b = 0;

		if (bin != null && bin.length() <= 8) {
			if (isBinstr(bin)) {
				String hex = bin2hexstr(bin);
				b = hex2byte(hex);
			}
		}

		return b;
	}

	public static byte[] bin2bytes(String bin) {
		byte[] bs = null;

		if (bin != null) {
			String hex = bin2hexstr(bin);
			bs = hexstr2bytes(hex);
		}
		return bs;
	}

	public static int bin2int(String bin) {
		int value = 0;

		if (bin != null && bin.length() <= 32) {
			if (isBinstr(bin)) {
				String hex = bin2hexstr(bin);
				value = hexstr2int(hex);
			}
		}
		return value;
	}

	public static boolean isBinstr(String bin) {
		boolean result = false;

		if (bin != null) {
			byte[] b = bin.getBytes();
			for (int i = 0; i < b.length; i++) {
				if (b[i] != 48 && b[i] != 49)
					return false;
			}

			return true;
		}
		return result;
	}

	/**
	 * 判斷一個字符串是否是數字
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNumeric(String str) {
		if (str != null) {

			try {
				str = str.trim();
				double d = Double.parseDouble(str);
				d = d + 1;
				return true;
			} catch (NumberFormatException e) {

			}
		}
		return false;
	}

	/**
	 * 判斷字符串是否全是漢字
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isAllChinese(String str) {
		if (str != null) {
			str = quan2ban(str);
			if (str != null) {
				if (str.length() * 2 == str.getBytes().length)
					return true;
			}
		}

		return false;
	}

	/**
	 * 判斷字符串是否全不是漢字
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isNoChinese(String str) {
		if (str != null) {
			str = quan2ban(str);
			if (str != null) {
				if (str.length() == str.getBytes().length)
					return true;
			}
		}

		return false;
	}

	/**
	 * 是否是字母
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isLetter(String str) {
		if (str != null) {
			byte b[];

			str = str.trim();
			b = str.toUpperCase().getBytes();
			for (int i = 0; i < b.length; i++) {
				if (b[i] < 65 || b[i] > 90)
					return false;

			}
			return true;
		}
		return false;
	}

	/**
	 * 把一個整數轉化成8位二進制字符串的表示形式
	 * 
	 * @param value
	 *            0--256之間的整數
	 * @return 長度為8的二進制字符串
	 */
	public static String int2bin(int value) {
		if (value >= 0 && value < 256) {
			String bin = Integer.toBinaryString(value);
			int len = bin.length();
			for (int i = 0; i < 8 - len; i++)
				bin = "0" + bin;

			return bin;
		}

		return null;
	}

	/**
	 * 把表示數字含義的字符串轉你成整形
	 * 
	 * @param str
	 *            要轉換的字符串
	 * @return 如果是有意義的整數,則返回此整數值。否則,返回-1。
	 */
	public static int cint(String str) {
		if (str != null)
			try {
				int i = new Integer(str).intValue();
				return i;
			} catch (NumberFormatException e) {

			}

		return -1;
	}

	public static long clong(String str) {
		if (str != null)
			try {
				return new Long(str).longValue();

			} catch (NumberFormatException e) {

			}

		return -1;
	}

	/**
	 * 在一個字符串中取出指定的子字符串/
	 * 
	 * @param str
	 *            字符串
	 * @param begin
	 *            開始位置,從0數起
	 * @param len
	 *            子字符串的長度
	 * @return 子字符串
	 */
	public static String substr(String str, int begin, int len) {

		if (str == null)
			return null;
		else {
			int strLen = 0;
			strLen = str.length();
			if (begin >= strLen)
				return null;
			else {
				if (len > strLen)
					return null;
				else {
					str += "0";
					try {
						return str.substring(begin, len);
					} catch (IndexOutOfBoundsException e) {
						return null;
					}
				}
			}

		}

	}

	/**
	 * 把字節數組轉化成十六進制的字符串
	 * 
	 * @param bs
	 */
	public static String bytes2hex(byte[] b) {
		String result = "";
		int value;

		if (b != null && b.length > 0)
			for (int i = 0; i < b.length; i++) {
				value = (b[i] >>> 4) & 0x0F;
				result += Integer.toHexString(value);
				value = b[i] & 0x0F;
				result += Integer.toHexString(value);
			}

		return result.toUpperCase();
	}

	/**
	 * 把UNICODE編碼的字符串轉化成漢字編碼的字符串
	 * 
	 * @param hexString
	 * @return
	 */
	public static String unicode2gb(String hexString) {
		StringBuffer sb = new StringBuffer();

		if (hexString == null)
			return null;

		for (int i = 0; i + 4 <= hexString.length(); i = i + 4) {
			try {
				int j = Integer.parseInt(hexString.substring(i, i + 4), 16);
				sb.append((char) j);
			} catch (NumberFormatException e) {
				return hexString;
			}
		}

		return sb.toString();
	}

	/**
	 * 把漢字轉化成UNICODE編碼的字符串
	 * 
	 * @param gbString
	 * @return
	 */
	public static String gb2unicode(String gbString) {
		String result = "";
		char[] c;
		int value;

		if (gbString == null)
			return null;
		// if (gbString.getBytes().length == gbString.length())
		// return gbString;

		String temp = null;
		c = new char[gbString.length()];
		StringBuffer sb = new StringBuffer(gbString);
		sb.getChars(0, sb.length(), c, 0);
		for (int i = 0; i < c.length; i++) {
			value = (int) c[i];
			// System.out.println("[" + i + "]:" +value );
			// System.out.println("hex:"+Integer.toHexString(value));
			temp = Integer.toHexString(value);
			result += fill(temp, 4);
		}

		return result.toUpperCase();
	}

	/**
	 * 如果字符串的長度沒有達到指定的長度,則在字符串前加“0”補夠指定的長度
	 * 
	 * @param src
	 *            原先的字符串
	 * @param len
	 *            指定的長度
	 * @return 指定長度的字符串
	 */
	public static String fill(String src, int len) {
		String result = null;

		if (src != null && src.length() <= len) {
			result = src;
			for (int i = 0; i < len - src.length(); i++) {
				result = "0" + result;
			}
		}
		return result;
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丰满岳乱妇一区二区三区| 久久蜜桃av一区精品变态类天堂| 欧美日韩国产首页| 国产日韩欧美亚洲| 亚洲一级二级在线| 国产电影一区二区三区| 欧美日韩久久一区| 国产精品乱人伦| 精品一区二区在线看| 在线观看免费一区| 国产精品第五页| 国产一区二区精品久久| 91麻豆精品国产无毒不卡在线观看| 国产精品久久三| 国产在线精品一区二区夜色 | 国产欧美精品区一区二区三区| 亚洲制服丝袜av| av不卡在线播放| 国产精品午夜电影| 国产九色精品成人porny| 日韩精品亚洲专区| 在线观看日韩av先锋影音电影院| 国产精品不卡一区二区三区| 国产真实乱子伦精品视频| 日韩欧美在线不卡| 日韩欧美一区二区视频| 亚洲国产精品久久人人爱蜜臀| 99久久免费国产| 中文字幕一区三区| 成人黄色软件下载| 国产精品夫妻自拍| av不卡在线播放| 亚洲美女视频一区| 日本高清不卡aⅴ免费网站| 亚洲欧洲精品天堂一级| 9色porny自拍视频一区二区| 中文字幕成人在线观看| 粉嫩av亚洲一区二区图片| 久久精品男人的天堂| 国产乱码字幕精品高清av | 色域天天综合网| 亚洲乱码精品一二三四区日韩在线| 99视频在线精品| ...xxx性欧美| 欧美日韩一区高清| 亚洲va欧美va人人爽| 91精品国产色综合久久| 美女视频第一区二区三区免费观看网站| 欧美一区二区三区性视频| 日韩精彩视频在线观看| 欧美一级黄色大片| 奇米影视在线99精品| 欧美成人精品福利| 国产老女人精品毛片久久| 国产日韩欧美激情| 不卡av在线网| 性感美女久久精品| 精品国产乱码久久久久久久 | 久久综合色一综合色88| 国产成人一级电影| 亚洲人成精品久久久久久 | 捆绑调教美女网站视频一区| 久久久久久久av麻豆果冻| 91视频精品在这里| 亚洲高清免费视频| 久久中文字幕电影| 日本高清免费不卡视频| 久久99国产精品麻豆| 亚洲色大成网站www久久九九| 欧美喷水一区二区| 国产传媒日韩欧美成人| 亚洲丰满少妇videoshd| 久久亚洲精精品中文字幕早川悠里| 9久草视频在线视频精品| 青青草视频一区| 国产精品传媒在线| 日韩视频永久免费| 色女孩综合影院| 国产精品一品二品| 亚洲成人av电影在线| 精品电影一区二区三区| 欧美综合久久久| 国产精品一区一区三区| 亚洲成人福利片| 国产精品私人自拍| 欧美刺激午夜性久久久久久久| 波多野结衣精品在线| 久久66热偷产精品| 亚洲一区二区三区中文字幕在线| 国产日韩一级二级三级| 91精品国产麻豆| 欧美伊人久久久久久久久影院| 国产高清视频一区| 久久机这里只有精品| 亚洲国产日韩av| 亚洲欧美乱综合| 国产精品网站导航| 国产福利91精品一区二区三区| 日韩精品成人一区二区在线| 一级精品视频在线观看宜春院| 国产欧美综合在线观看第十页| 日韩欧美国产综合一区 | 在线综合视频播放| 色乱码一区二区三区88| 91亚洲永久精品| 成人一区二区三区视频在线观看| 精品系列免费在线观看| 日本在线不卡视频| 日韩va欧美va亚洲va久久| 亚洲国产你懂的| 一区二区三区在线影院| 亚洲视频综合在线| 国产精品国产三级国产专播品爱网 | 国产精品自在欧美一区| 久久久精品一品道一区| 欧美va亚洲va| 精品嫩草影院久久| 日韩免费看的电影| 精品三级在线看| 久久这里只精品最新地址| 久久综合九色欧美综合狠狠| 欧美变态tickling挠脚心| 精品国产免费一区二区三区香蕉| 久久久五月婷婷| 国产精品久久久久桃色tv| 国产精品麻豆一区二区| 亚洲视频综合在线| 欧美日韩免费观看一区三区| 欧美日韩成人一区二区| 日韩一级二级三级精品视频| xnxx国产精品| 日韩一区有码在线| 亚洲综合色视频| 蜜桃在线一区二区三区| 黑人巨大精品欧美一区| 粉嫩嫩av羞羞动漫久久久| 91久久精品一区二区二区| 欧美日韩国产一区| 精品卡一卡二卡三卡四在线| 成人免费视频一区| 91免费看`日韩一区二区| 欧美日韩中字一区| 精品久久久久av影院| 久久久精品蜜桃| 一区二区三区四区视频精品免费 | 国产日韩视频一区二区三区| 欧美激情一区二区三区全黄| 欧美日韩一区二区三区视频| 亚洲精品一区二区三区99| 中文字幕成人网| 日韩国产精品久久久久久亚洲| 国内精品自线一区二区三区视频| 成人精品免费看| 欧美日免费三级在线| 久久精品欧美一区二区三区不卡 | 亚洲成a人v欧美综合天堂下载| 2024国产精品| 一区在线观看视频| 日韩电影免费在线观看网站| 成人在线综合网| 欧美一级在线免费| 中文字幕第一区二区| 麻豆精品久久精品色综合| 成人av在线播放网站| 日韩视频123| 一区二区三区欧美激情| 国产美女主播视频一区| 丁香天五香天堂综合| 欧美一区二区女人| 欧美亚洲国产一区二区三区| 久久美女高清视频| 婷婷六月综合亚洲| 波多野结衣中文字幕一区二区三区| 91精品国产色综合久久久蜜香臀| 国产精品剧情在线亚洲| 久久精品国产成人一区二区三区| 色婷婷综合久久久久中文一区二区| 欧美tk—视频vk| 亚洲成人av在线电影| 91蝌蚪国产九色| 国产精品美女久久久久久久久久久| 日本亚洲最大的色成网站www| 在线视频国产一区| 在线观看亚洲专区| 中文子幕无线码一区tr| 狠狠狠色丁香婷婷综合激情| 日韩午夜电影av| 亚洲一级片在线观看| 色婷婷综合久色| 亚洲精品乱码久久久久久久久 | 亚洲色图欧美在线| 国产69精品一区二区亚洲孕妇 | 日韩毛片高清在线播放| 国产一区二区三区免费播放| 日韩一本二本av| 亚洲成年人网站在线观看| 欧美人妖巨大在线| 亚洲最色的网站| 欧美日韩亚洲丝袜制服| 亚洲国产精品久久不卡毛片|