转义不可见字符<br>
见：https://en.wikibooks.org/wiki/Unicode/Character_reference/0000-0FFF

@param c 字符
@return 转义后的字符串
557049
private static String escape(char c) {
		switch (c) {
		case '\b':
			return "\\b";
		case '\t':
			return "\\t";
		case '\n':
			return "\\n";
		case '\f':
			return "\\f";
		case '\r':
			return "\\r";
		default:
			if (c < StrUtil.C_SPACE || //
					(c >= '\u0080' && c <= '\u00a0') || //
					(c >= '\u2000' && c <= '\u2010') || //
					(c >= '\u2028' && c <= '\u202F') || //
					(c >= '\u2066' && c <= '\u206F')//
			) {
				return HexUtil.toUnicodeHex(c);
			} else {
				return Character.toString(c);
			}
		}
	}
904070
public static Type getType(final Class c) {
        if (c.isPrimitive()) {
            if (c == Integer.TYPE) {
                return INT_TYPE;
            } else if (c == Void.TYPE) {
                return VOID_TYPE;
            } else if (c == Boolean.TYPE) {
                return BOOLEAN_TYPE;
            } else if (c == Byte.TYPE) {
                return BYTE_TYPE;
            } else if (c == Character.TYPE) {
                return CHAR_TYPE;
            } else if (c == Short.TYPE) {
                return SHORT_TYPE;
            } else if (c == Double.TYPE) {
                return DOUBLE_TYPE;
            } else if (c == Float.TYPE) {
                return FLOAT_TYPE;
            } else /* if (c == Long.TYPE) */{
                return LONG_TYPE;
            }
        } else {
            return getType(getDescriptor(c));
        }
    }
510071
public static int isCNNumeric( char c ) 
    {
        Integer i = cnNumeric.get(c);
        if ( i == null ) return -1;
        return i.intValue();
    }
397085
public char getChar(String key) {
    	try {
			String str = this.getStringImpl(key);
			if (str.length() > 0) {
				return str.charAt(0);
			}
		} catch (Exception e) {
			// Not defined
		}
		return '\u0000';
    }
1331590
public boolean isValidPosixFileChar(char c) {
    if ((((c >= 'A') && (c <= 'Z')) || ((c >= 'a') && (c <= 'z')) ||
           ((c >= '0') && (c <= '9'))
           || (c == '.') || (c == '_') || (c == '-'))) {
      return true;
    } else {
      return false;
    }
  }
177156
private static int decodeHex(final char c) {
    if (c < '0') {
      return INVALID;
    }
    if (c <= '9') {
      return c - '0';
    }
    if (c < 'A') {
      return INVALID;
    }
    if (c <= 'F') {
      return c - 'A' + 10;
    }
    if (c < 'a') {
      return INVALID;
    }
    if (c <= 'f') {
      return c - 'a' + 10;
    }
    return INVALID;
  }
1160031
public static synchronized String char2DOS437( StringBuffer stringbuffer, int i, char c ) {
        if (unicode2DOS437 == null) {
            unicode2DOS437 = new char[0x10000];
            for( int j = 0; j < 256; j++ ) {
                char c1;
                if ((c1 = unicode[2][j]) != '\uFFFF')
                    unicode2DOS437[c1] = (char) j;
            }
        }
        if (i != 2) {
            StringBuffer stringbuffer1 = new StringBuffer(stringbuffer.length());
            for( int k = 0; k < stringbuffer.length(); k++ ) {
                char c2 = unicode2DOS437[stringbuffer.charAt(k)];
                stringbuffer1.append(c2 == 0 ? c : c2);
            }

            return new String(stringbuffer1);
        } else {
            return new String(stringbuffer);
        }
    }
983395
public String getCharLineString(int c, int l) {
    if (font[c][l] == null)
      return null;
    else {
        return new String(font[c][l]).replace(hardblank, ' ');
    }
  }
703816
public boolean append(char c) {
        return set(get() == null ? String.valueOf(c) : get() + c);
    }
382395
final protected void putChar(char c) {
        final int clen = _internalBuffer.length;
        if (clen == _bufferPosition) {
            final char[] next = new char[2 * clen + 1];

            System.arraycopy(_internalBuffer, 0, next, 0, _bufferPosition);
            _internalBuffer = next;
        }

        _internalBuffer[_bufferPosition++] = c;
    }
1260770
public static String wrapCharArray(char[] c) {
        if (c == null)
            return null;

        String s = null;

        if (stringConstructor != null) {
            try {
                s = stringConstructor.newInstance(0, c.length, c);
            } catch (Exception e) {
                // Swallowing as we'll just use a copying constructor
            }
        }
        return s == null ? new String(c) : s;
    }
1067351
public static boolean isEmoji(char c) {
		return false ==  ((c == 0x0) || //
				(c == 0x9) || //
				(c == 0xA) || //
				(c == 0xD) || //
				((c >= 0x20) && (c <= 0xD7FF)) || //
				((c >= 0xE000) && (c <= 0xFFFD)) || //
				((c >= 0x10000) && (c <= 0x10FFFF)));
	}
699967
public String form( char c ) {
        if (fmt != 'c') {
            throw new java.lang.IllegalArgumentException();
        }

        String r = "" + c;

        return pad(r);
    }
1274932
public static String removeStartingChars(String s, char c) {
        int lastToRemove = -1;
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == c) {
                lastToRemove = i;
                continue;
            }

            if (s.charAt(i) != c) {
                break;
            }
        }

        if (lastToRemove < 0) return s;
        return s.substring(lastToRemove + 1);
    }
357356
public static String encodeBackslashToASCII(char c) {
    if (c >= 32 && c < 128 && c != '\\' && c != '"') return ("" + c);
    String hex = Integer.toHexString(c);
    while (hex.length() < 4)
      hex = "0" + hex;
    return ("\\u" + hex);
  }
31356
public static boolean isNumber(char c){
        //大部分字符在这个范围
        if(c > '9' && c < '０'){
            return false;
        }
        if(c < '0'){
            return false;
        }
        if(c > '９'){
            return false;
        }
        return true;
    }
1239884
private int countChar(String string, char c) {
        int count = 0;
        final int max = string.length();
        for (int i = 0; i < max; i++) {
            if (c == string.charAt(i)) {
                count++;
            }
        }
        return count;
    }