public String converterSrcHextoDesHex(String src, int srcHex, int desHex) {

		if (srcHex == 0 || desHex == 0) {
			throw new RuntimeException("error hex, there has no zero hex.");
		}
		if (srcHex > HEX_MAX.length() || desHex > HEX_MAX.length()) {
			throw new RuntimeException("error hex, too big.");
		}
		if (src == null || src.length() <= 0) {
			throw new RuntimeException("error input no input or null.");
		}
		// TODO src 的每一个char在 HEX_MAX内都可以找到.
		if (srcHex == desHex) {
			return src;
		}
		if (desHex != DEFAULT_HEX) {
			src = converterSrcHextoDesHex(src, srcHex, DEFAULT_HEX);
		} else {
			char[] charsArray = src.toCharArray();
			int len = charsArray.length;
			long n = 0;
			for (int i = len - 1; i >= 0; i--) {
				n += HEX_MAX.indexOf(charsArray[i])
						* Math.pow(srcHex, len - i - 1);
			}
			return String.valueOf(n);
		}
		return baseString(src, desHex);
	}