导航:首页 - java字符串的各种编码转换

java字符串的各种编码转换
作者:深圳教育在线 来源:www.szedu.net 更新日期:2009-8-20

   /**
  * 将字符编码转换成GBK码
  */
  public String toGBK(String str) throws UnsupportedEncodingException{
  return this.changeCharset(str, GBK);
  }
  /**
  * 字符串编码转换的实现方法
  * @param str 待转换编码的字符串
  * @param newCharset 目标编码
  * @return
  * @throws UnsupportedEncodingException
  */
  public String changeCharset(String str, String newCharset)
  throws UnsupportedEncodingException {
  if (str != null) {
  //用默认字符编码解码字符串。
  byte[] bs = str.getBytes();
  //用新的字符编码生成字符串
  return new String(bs, newCharset);
  }
  return null;
  }
  /**
  * 字符串编码转换的实现方法
  * @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;
  }
  public static void main(String[] args) throws UnsupportedEncodingException {
  ChangeCharset test = new ChangeCharset();
  String str = "This is a 中文的 String!";
  System.out.println("str: " + str);
  String gbk = test.toGBK(str);
  System.out.println("转换成GBK码: " + gbk);
  System.out.println();
  String ascii = test.toASCII(str);
  System.out.println("转换成US-ASCII码: " + ascii);
  gbk = test.changeCharset(ascii,ChangeCharset.US_ASCII, ChangeCharset.GBK);
  System.out.println("再把ASCII码的字符串转换成GBK码: " + gbk);
  System.out.println();
  String iso88591 = test.toISO_8859_1(str);
  System.out.println("转换成ISO-8859-1码: " + iso88591);
  gbk = test.changeCharset(iso88591,ChangeCharset.ISO_8859_1, ChangeCharset.GBK);
  System.out.println("再把ISO-8859-1码的字符串转换成GBK码: " + gbk);
  System.out.println();
  String utf8 = test.toUTF_8(str);
  System.out.println("转换成UTF-8码: " + utf8);
  gbk = test.changeCharset(utf8,ChangeCharset.UTF_8, ChangeCharset.GBK);
  System.out.println("再把UTF-8码的字符串转换成GBK码: " + gbk);
  System.out.println();
  String utf16be = test.toUTF_16BE(str);
  System.out.println("转换成UTF-16BE码:" + utf16be);
  gbk = test.changeCharset(utf16be,ChangeCharset.UTF_16BE, ChangeCharset.GBK);
  System.out.println("再把UTF-16BE码的字符串转换成GBK码: " + gbk);

 

[本文共有 2 页,当前是第 2 页] <<上一页 下一页>>


报 名 此 课 程 / 咨 询 相 关 信 息
【预约登门】 【网上咨询】 【订座试听】 【现在报名】
课程名称
java字符串的各种编码转换
真实姓名
* 性 别
联系电话
* E-mail:
所在地区
咨询内容

      

相关文章:

Copyright© 2004-2010 www.szedu.net 深圳教育在线 版权所有
中国·深圳
粤ICP备06023013号