java String编码转换

时间:2021-09-30 15:58:55
[java] view plain copy
  1. /** 
  2.     * Get XML String of utf-8 
  3.     *  
  4.     * @return XML-Formed string 
  5.     */  
  6.     public static String getUTF8XMLString(String xml) {  
  7.     // A StringBuffer Object  
  8.     StringBuffer sb = new StringBuffer();  
  9.     sb.append(xml);  
  10.     String xmString = "";  
  11.     String xmlUTF8="";  
  12.     try {  
  13.     xmString = new String(sb.toString().getBytes("UTF-8"));  
  14.     xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");  
  15.     System.out.println("utf-8 编码:" + xmlUTF8) ;  
  16.     } catch (UnsupportedEncodingException e) {  
  17.     // TODO Auto-generated catch block  
  18.     e.printStackTrace();  
  19.     }  
  20.     // return to String Formed  
  21.     return xmlUTF8;  
  22.     } 

 /**
  * 字符串编码转换的实现方法
  * @param str  待转换编码的字符串
  * @param oldCharset 原编码
  * @param newCharset 目标编码
  * @return
  * @throws UnsupportedEncodingException
  */
 public String changeCharset(String str, String oldCharset, String newCharset)
   throws UnsupportedEncodingException {
  if (str != null) {
   //用旧的字符编码解码字符串。解码可能会出现异常。
   byte[] bs = str.getBytes(oldCharset);
   //用新的字符编码生成字符串
   return new String(bs, newCharset);
  }
  return null;
 }