code: private static char decodeChar(char c, int offset, boolean isDecodeNumber) {
  		int temp = c;
  		// if converting numbers is enabled
  		if (isDecodeNumber) {
  			if (temp >= CHAR0 && temp <= CHAR9) {
  				temp -= CHAR0;
  				temp = temp - offset;
  				while (temp < 0) {
  					temp += 10;
  				}
  				temp += CHAR0;
  			}
  		}
  
  		// A == 65, Z == 90
  		if (temp >= ACHAR && temp <= ZCHAR) {
  			temp -= ACHAR;
  
  			temp = temp - offset;
  			while (temp < 0) {
  				temp = 26 + temp;
  			}
  			temp += ACHAR;
  		} else if (temp >= aCHAR && temp <= zCHAR) {
  			temp -= aCHAR;
  
  			temp = temp - offset;
  			if (temp < 0)
  				temp = 26 + temp;
  
  			temp += aCHAR;
  		}
  		return (char) temp;
  	}
docs: 编码字符
  
  @param c 字符
  @param offset 位移
  @param isDecodeNumber 是否编码数字
  @return 编码后的字符串