加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java中判断字符编码的格式以及转码

(2012-05-29 15:56:18)
标签:

it

分类: J2SE
  1. java中判断字符编码以及转码  
  2. [参考]判断字符编码以及转码的一个工具类  
  3.   
  4.   
  5. public class TranCharset  
  6.   
  7.     private static final String PRE_FIX_UTF "&#x" 
  8.     private static final String POS_FIX_UTF ";" 
  9.   
  10.     public TranCharset()  
  11.      
  12.   
  13.       
  14.     public static String XmlFormalize(String sTemp)  
  15.         StringBuffer sb new StringBuffer();  
  16.   
  17.         if (sTemp == null || sTemp.equals(""))  
  18.             return "" 
  19.          
  20.         String TranCharset.TranEncodeTOGB(sTemp);  
  21.         for (int 0s.length(); i++)  
  22.             char cChar s.charAt(i);  
  23.             if (TranCharset.isGB2312(cChar))  
  24.                 sb.append(PRE_FIX_UTF);  
  25.                 sb.append(Integer.toHexString(cChar));  
  26.                 sb.append(POS_FIX_UTF);  
  27.             else  
  28.                 switch ((intcChar)  
  29.                     case 32 
  30.                         sb.append(" ");  
  31.                         break 
  32.                     case 34 
  33.                         sb.append(""");  
  34.                         break 
  35.                     case 38 
  36.                         sb.append("&");  
  37.                         break 
  38.                     case 60 
  39.                         sb.append("<");  
  40.                         break 
  41.                     case 62 
  42.                         sb.append(">");  
  43.                         break 
  44.                     default 
  45.                         sb.append(cChar);  
  46.                  
  47.              
  48.          
  49.         return sb.toString();  
  50.      
  51.   
  52.       
  53.     public static String TranEncodeTOGB(String str)  
  54.         try  
  55.             String strEncode TranCharset.getEncoding(str);  
  56.             String temp new String(str.getBytes(strEncode), "GB2312");  
  57.             return temp;  
  58.         catch (java.io.IOException ex)  
  59.   
  60.             return null 
  61.          
  62.      
  63.   
  64.       
  65.     public static boolean isGB2312(char c)  
  66.         Character ch new Character(c);  
  67.         String sCh ch.toString();  
  68.         try  
  69.             byte[]   bb sCh.getBytes("gb2312");  
  70.             if (bb.length 1 
  71.                 return true 
  72.              
  73.         catch (java.io.UnsupportedEncodingException ex)  
  74.             return false 
  75.          
  76.         return false 
  77.      
  78.   
  79.       
  80.     public static String getEncoding(String str)  
  81.         String encode "GB2312" 
  82.         try  
  83.             if (str.equals(new String(str.getBytes(encode), encode)))  
  84.                 String encode;  
  85.                 return s;  
  86.              
  87.         catch (Exception exception)  
  88.          
  89.         encode "ISO-8859-1" 
  90.         try  
  91.             if (str.equals(new String(str.getBytes(encode), encode)))  
  92.                 String s1 encode;  
  93.                 return s1;  
  94.              
  95.         catch (Exception exception1)  
  96.          
  97.         encode "UTF-8" 
  98.         try  
  99.             if (str.equals(new String(str.getBytes(encode), encode)))  
  100.                 String s2 encode;  
  101.                 return s2;  
  102.              
  103.         catch (Exception exception2)  
  104.          
  105.         encode "GBK" 
  106.         try  
  107.             if (str.equals(new String(str.getBytes(encode), encode)))  
  108.                 String s3 encode;  
  109.                 return s3;  
  110.              
  111.         catch (Exception exception3)  
  112.          
  113.         return "" 
  114.      
  115. }  

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有