JSP要求トランスコード


Jspで汎用トランスコードを要求する方法:
  
/**
  *  getBytes(encoding):        byte  <br>
  *  b[0]  63 ,       <br>
  * A、         :<br>
  * 1、encoding GB2312 , byte   ;<br>
  * 2、encoding ISO8859_1 ,b[i]  63。<br>
  * B、        : <br>
  * 1、encoding ISO8859_1 , byte    ;<br>
  * 2、encoding GB2312 ,b[i]    63。<br>
  * C、     <br>
  * 1、encoding ISO8859_1 GB2312 , byte   0;
  * <p/>
  *   :       , getBytes("iso8859_1") <br>
  * 1、  b[i] 63,    ; A-2 <br>
  * 2、  b[i]   0,        ,    ; B-1 <br>
  * 3、  b[i]   0 ,      ,   。 C-1
  */
public static String getToGBK(String str) {
	if (StringUtils.isBlank(str))
		return str;
	String retStr = str;
	byte b[];
	try {
		b = str.getBytes("ISO-8859-1");
		for (int i = 0; i < b.length; i++) {
			byte b1 = b[i];
			if (b1 == 63)
				break; // 1
			else if (b1 > 0)
				continue;// 2
			else if (b1 < 0) { //     0,0       
				retStr = new String(b, "utf-8");
				break;
			}
		}
	} catch (UnsupportedEncodingException e) {
		e.printStackTrace();
	}
	return retStr;
}