<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    飛翔的起點

    從這里出發(fā)

    導(dǎo)航

    <2009年9月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    統(tǒng)計

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    java中的編碼方法

    package src;

    import java.io.UnsupportedEncodingException;

    public class ChangeCharset {
      /** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁塊 */
      public static final String US_ASCII = "US-ASCII";

      /** ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1 */
      public static final String ISO_8859_1 = "ISO-8859-1";

      /** 8 位 UCS 轉(zhuǎn)換格式 */
      public static final String UTF_8 = "UTF-8";

      /** 16 位 UCS 轉(zhuǎn)換格式,Big Endian(最低地址存放高位字節(jié))字節(jié)順序 */
      public static final String UTF_16BE = "UTF-16BE";

      /** 16 位 UCS 轉(zhuǎn)換格式,Little-endian(最高地址存放低位字節(jié))字節(jié)順序 */
      public static final String UTF_16LE = "UTF-16LE";

      /** 16 位 UCS 轉(zhuǎn)換格式,字節(jié)順序由可選的字節(jié)順序標(biāo)記來標(biāo)識 */
      public static final String UTF_16 = "UTF-16";

      /** 中文超大字符集 */
      public static final String GBK = "GBK";

      /**
       * 將字符編碼轉(zhuǎn)換成US-ASCII碼
       */
      public String toASCII(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, US_ASCII);
      }
      /**
       * 將字符編碼轉(zhuǎn)換成ISO-8859-1碼
       */
      public String toISO_8859_1(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, ISO_8859_1);
      }
      /**
       * 將字符編碼轉(zhuǎn)換成UTF-8碼
       */
      public String toUTF_8(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, UTF_8);
      }
      /**
       * 將字符編碼轉(zhuǎn)換成UTF-16BE碼
       */
      public String toUTF_16BE(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, UTF_16BE);
      }
      /**
       * 將字符編碼轉(zhuǎn)換成UTF-16LE碼
       */
      public String toUTF_16LE(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, UTF_16LE);
      }
      /**
       * 將字符編碼轉(zhuǎn)換成UTF-16碼
       */
      public String toUTF_16(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, UTF_16);
      }
      /**
       * 將字符編碼轉(zhuǎn)換成GBK碼
       */
      public String toGBK(String str) throws UnsupportedEncodingException{
       return this.changeCharset(str, GBK);
      }
     
      /**
       * 字符串編碼轉(zhuǎn)換的實現(xiàn)方法
       * @param str  待轉(zhuǎn)換編碼的字符串
       * @param newCharset 目標(biāo)編碼
       * @return
       * @throws UnsupportedEncodingException
       */
      public String changeCharset(String str, String newCharset)
        throws UnsupportedEncodingException {
       if (str != null) {
        //用默認(rèn)字符編碼解碼字符串。
        byte[] bs = str.getBytes();
        //用新的字符編碼生成字符串
        return new String(bs, newCharset);
       }
       return null;
      }
      /**
       * 字符串編碼轉(zhuǎn)換的實現(xiàn)方法
       * @param str  待轉(zhuǎn)換編碼的字符串
       * @param oldCharset 原編碼
       * @param newCharset 目標(biāo)編碼
       * @return
       * @throws UnsupportedEncodingException
       */
      public String changeCharset(String str, String oldCharset, String newCharset)
        throws UnsupportedEncodingException {
       if (str != null) {
        //用舊的字符編碼解碼字符串。解碼可能會出現(xiàn)異常。
        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("轉(zhuǎn)換成GBK碼: " + gbk);
       System.out.println();
       String ascii = test.toASCII(str);
       System.out.println("轉(zhuǎn)換成US-ASCII碼: " + ascii);
       gbk = test.changeCharset(ascii,ChangeCharset.US_ASCII, ChangeCharset.GBK);
       System.out.println("再把ASCII碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
       System.out.println();
       String iso88591 = test.toISO_8859_1(str);
       System.out.println("轉(zhuǎn)換成ISO-8859-1碼: " + iso88591);
       gbk = test.changeCharset(iso88591,ChangeCharset.ISO_8859_1, ChangeCharset.GBK);
       System.out.println("再把ISO-8859-1碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
       System.out.println();
       String utf8 = test.toUTF_8(str);
       System.out.println("轉(zhuǎn)換成UTF-8碼: " + utf8);
       gbk = test.changeCharset(utf8,ChangeCharset.UTF_8, ChangeCharset.GBK);
       System.out.println("再把UTF-8碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
       System.out.println();
       String utf16be = test.toUTF_16BE(str);
       System.out.println("轉(zhuǎn)換成UTF-16BE碼:" + utf16be);
       gbk = test.changeCharset(utf16be,ChangeCharset.UTF_16BE, ChangeCharset.GBK);
       System.out.println("再把UTF-16BE碼的字符串轉(zhuǎn)換成GBK碼: " + gbk);
      }
    }

    posted on 2009-09-23 14:25 forgood 閱讀(301) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产色爽免费无码视频| 成人奭片免费观看| 亚洲一区二区三区在线网站 | 99在线视频免费观看| 亚洲AV无码国产精品麻豆天美 | 国产成人福利免费视频| 色偷偷亚洲男人天堂| 国产亚洲一区二区三区在线| 91情侣在线精品国产免费| 一级毛片免费播放男男| 91亚洲国产成人久久精品 | 日韩va亚洲va欧洲va国产| 青青青国产在线观看免费| 人碰人碰人成人免费视频| 亚洲性猛交xx乱| 亚洲综合伊人久久综合| 成年男女免费视频网站| 黄色片免费在线观看| 精品亚洲福利一区二区| 亚洲一区二区三区首页| 亚洲成av人在片观看| 久久久久久精品免费免费自慰| 一区二区三区免费视频播放器| 亚洲视频在线不卡| 亚洲中文字幕无码一区二区三区| 在线视频观看免费视频18| 在线看片免费人成视频福利| 欧美日韩亚洲精品| 亚洲一区电影在线观看| 亚洲国产精品嫩草影院在线观看 | 24小时免费直播在线观看| 3344在线看片免费| 免费夜色污私人影院网站电影| 亚洲一区在线视频观看| 久久久婷婷五月亚洲97号色| 久久国产成人精品国产成人亚洲 | 99在线视频免费观看视频| 三年片在线观看免费大全电影| 一二三区免费视频| 日本系列1页亚洲系列| 亚洲综合一区无码精品|