- java中判断字符编码以及转码
- [参考]判断字符编码以及转码的一个工具类
-
-
- public
class TranCharset { -
-
private static final String PRE_FIX_UTF = "&#x"; -
private static final String POS_FIX_UTF = ";"; -
-
public TranCharset() { -
} -
-
-
public static String XmlFormalize(String sTemp) { -
StringBuffer sb = new StringBuffer(); -
-
if (sTemp == null || sTemp.equals("")) { -
return ""; -
} -
String s = TranCharset.TranEncodeTOGB(sTemp); -
for (int i = 0; i < s.length(); i++) { -
char cChar = s.charAt(i); -
if (TranCharset.isGB2312(cChar)) { -
sb.append(PRE_FIX_UTF); -
sb.append(Integer.toHexString(cChar)); -
sb.append(POS_FIX_UTF); -
} else { -
switch ((int) cChar) { -
case 32: -
sb.append(" "); -
break; -
case 34: -
sb.append("""); -
break; -
case 38: -
sb.append("&"); -
break; -
case 60: -
sb.append("<"); -
break; -
case 62: -
sb.append(">"); -
break; -
default: -
sb.append(cChar); -
} -
} -
} -
return sb.toString(); -
} -
-
-
public static String TranEncodeTOGB(String str) { -
try { -
String strEncode = TranCharset.getEncoding(str); -
String temp = new String(str.getBytes(strEncode), "GB2312"); -
return temp; -
} catch (java.io.IOException ex) { -
-
return null; -
} -
} -
-
-
public static boolean isGB2312(char c) { -
Character ch = new Character(c); -
String sCh = ch.toString(); -
try { -
byte[] bb = sCh.getBytes("gb2312"); -
if (bb.length > 1) { -
return true; -
} -
} catch (java.io.UnsupportedEncodingExcep tion ex) { -
return false; -
} -
return false; -
} -
-
-
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 ""; -
} - }
java中判断字符编码的格式以及转码
最新推荐文章于 2024-07-03 02:34:55 发布