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

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

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

    csusky

    常用鏈接

    統計

    最新評論

    JAVA 的字符編碼的問題

    首先講一講字符集
     JDK1.4版本引入了java.nio包加入了Charset類來統一字符集的轉換,字符集給出了雙字節Unicode碼序列與本地字符編碼中采用的字節序列之間的映射
    字符集的名稱不區分大小寫,可以用官方名稱或者任何一個別名調用靜態方法forName來獲得Charset

    1Charset charset=Charset.forName("GBK");
    Charset的aliases()方法返回一個Set<String>集合,表示該字符集所具有的所有別名
    Set<String> aliases=charset.aliases();
    查看虛擬機所支持的字符集以及名字可用Charset的靜態方法availableCharsets()返回一個SortedMap
    1 Map<String,Charset> map=Charset.availableCharsets();
    2            for(String setname:map.keySet()) {
    3                System.out.println(setname);
    4            }
    一旦有了字符集,就可以用他在本地字符串和Unicode字節序列之間轉換
    如下將一個字符串編碼為gbk    charset.encode(str)函數返回一個ByteBuffer對象
    1String str=new String("曉宇");
    2            ByteBuffer  buff = charset.encode(str);
    3            byte[] bytes=buff.array();
    同樣,可以將剛才按照GBK方式編碼的字節流解碼為正確的字符流
    1ByteBuffer by=ByteBuffer.wrap(bytes, 0, bytes.length);
    2      CharBuffer cb=charset.decode(by);//返回一個CharBuffer對象,已經將字節數組轉化為字符數組
    3      System.out.println("  "+cb.toString());


    實際上String類中集成了Charset對象的使用,String類有兩個用于編碼和解碼的函數

    1byte[] bytes = str.getBytes("CharsetName");  //將字符串str按照指定名稱的Charset進行編碼成字節數組
    2            String str2=new String(bytes,"CharsetName"); //將字節數組按照指定名稱的Charset解碼為字符串


    在輸入輸出流中有兩個用于將字節流轉化為指定編碼格式的字符流的類  InputStreamReader/OutputStreamReader
    這兩個類是讀寫流和讀寫器的橋梁 用法如下

    1InputStreamReader isr = new InputStreamReader(in, "charsetname");
    2            BufferedReader br = new BufferedReader(isr);//加入一個BufferedReader,可以用到該類的readLine()

    該用法在我的另外一篇socket備忘的里面體現了,可將網絡傳過來的utf-8格式編碼的字節流正確的解碼,以至于顯示的時候不會出現亂碼





    posted on 2008-02-24 16:44 曉宇 閱讀(519) 評論(0)  編輯  收藏 所屬分類: JAVA基礎

    主站蜘蛛池模板: 亚洲综合网站色欲色欲| www.亚洲色图.com| 亚洲综合在线观看视频| 两个人看www免费视频| 亚洲综合国产精品第一页| 日本高清不卡中文字幕免费| 午夜亚洲国产成人不卡在线| MM1313亚洲国产精品| 国产成人免费片在线观看 | 国产美女a做受大片免费| 亚洲人成电影网站色www| 无码一区二区三区免费视频| 亚洲日本一线产区和二线 | 亚洲视频在线一区二区| 九九99热免费最新版| 久久久久无码精品亚洲日韩| 久久国产免费观看精品3| 亚洲乱人伦精品图片| 午夜网站免费版在线观看| 国产亚洲午夜精品| 狠狠亚洲婷婷综合色香五月排名 | 亚洲熟妇少妇任你躁在线观看无码| 人成电影网在线观看免费| 亚洲国产精品无码专区在线观看| 久久久久成人片免费观看蜜芽 | 亚洲一级毛片视频| 青草草在线视频永久免费| 免费人人潮人人爽一区二区| 亚洲国产精品高清久久久| 麻豆最新国产剧情AV原创免费| 亚洲国产欧美国产综合一区 | 免费在线黄色电影| 亚洲AV无码一区二区三区人| 免费h黄肉动漫在线观看| 男女一进一出抽搐免费视频| 亚洲福利一区二区三区| 免费人成视频在线观看视频| 国产无遮挡裸体免费视频在线观看| 亚洲中文字幕AV在天堂| 伊人久久大香线蕉亚洲| 无码永久免费AV网站|