java中查看字符代码格式和相互转换格式 /** * 描述 : 获取代码字符编码 * @param str * @return * */ public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equals(new String(str.getBytes(e
/** * 描述 : 获取代码字符编码 * @param str * @return * */ public static String getEncoding(String str) { String encode = "GB2312"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s = encode; return s; } } catch (Exception exception) { } encode = "ISO-8859-1"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s1 = encode; return s1; } } catch (Exception exception1) { } encode = "UTF-8"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s2 = encode; return s2; } } catch (Exception exception2) { } encode = "GBK"; try { if (str.equals(new String(str.getBytes(encode), encode))) { String s3 = encode; return s3; } } catch (Exception exception3) { } return ""; }GBK字符编号转换为UTF-8
/** * 描述 : GBK字符编号转换为UTF-8 * @param gbkStr * @return * */ public static String getUTF8StringFromGBKString(String gbkStr) { try { return new String(getUTF8BytesFromGBKString(gbkStr), "UTF-8"); } catch (UnsupportedEncodingException e) { throw new InternalError(); } } public static byte[] getUTF8BytesFromGBKString(String gbkStr) { int n = gbkStr.length(); byte[] utfBytes = new byte[3 * n]; int k = 0; for (int i = 0; i < n; i++) { int m = gbkStr.charAt(i); if (m < 128 && m >= 0) { utfBytes[k++] = (byte) m; continue; } utfBytes[k++] = (byte) (0xe0 | (m >> 12)); utfBytes[k++] = (byte) (0x80 | ((m >> 6) & 0x3f)); utfBytes[k++] = (byte) (0x80 | (m & 0x3f)); } if (k < utfBytes.length) { byte[] tmp = new byte[k]; System.arraycopy(utfBytes, 0, tmp, 0, k); return tmp; } return utfBytes; }GB2312字符编号转换为UTF-8
public static String gb2312ToUtf8(String tempStr) { String urlEncode = ""; try { urlEncode = new String(tempStr.getBytes("GB2312"),"UTF-8"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } return urlEncode; }