Java—IO流 檔案的編碼,javaio流編碼

來源:互聯網
上載者:User

Java—IO流 檔案的編碼,javaio流編碼

  • 檔案的編碼
package cn.test;import java.io.UnsupportedEncodingException;public class Demo15 {    public static void main(String[] args) throws UnsupportedEncodingException {        String str = "你好ABC123";        byte[] b1 = str.getBytes();//轉換成位元組系列用的是項目預設的編碼        for (byte b : b1) {            //把位元組(轉換成了int)以十六進位方式顯示            System.out.print(Integer.toHexString(b & 0xff) + "  ");        }                System.out.println("");        //utf8編碼,中文佔用3個位元組,英文和數字佔用1個位元組        byte[] b2 = str.getBytes("utf8");        for (byte b : b2) {            System.out.print(Integer.toHexString(b & 0xff) + "  ");        }                System.out.println("");        //gbk編碼,中文佔用兩個位元組,英文和數字佔用1個位元組        byte[] b3 = str.getBytes("gbk");        for (byte b : b3) {            System.out.print(Integer.toHexString(b & 0xff) + "  ");        }                System.out.println("");        //java是雙位元組編碼 utf-16be        //utf-16be編碼,中文佔2個位元組,英文和數字也佔用2個位元組        byte[] b4 = str.getBytes("utf-16be");        for (byte b : b4) {            System.out.print(Integer.toHexString(b & 0xff) + "  ");        }                System.out.println("");        //當位元組序列是某種編碼時,這時候想把位元組序列變成字串,也需要用這種編碼方式,否則會出現亂碼        String str1 = new String(b4);//使用項目預設的編碼        System.out.println(str1);        String str2 = new String(b4, "utf-16be");        System.out.println(str2);    }}

  執行結果:

e4  bd  a0  e5  a5  bd  41  42  43  31  32  33  e4  bd  a0  e5  a5  bd  41  42  43  31  32  33  c4  e3  ba  c3  41  42  43  31  32  33  4f  60  59  7d  0  41  0  42  0  43  0  31  0  32  0  33  O`Y}ABC123你好ABC123

  文字檔就是位元組序列,可以是任意編碼的位元組序列。

  如果我們在中文機器上直接建立文字檔,那麼該文字檔只認識ansi編碼(中文系統下,ansi編碼代表gbk編碼)

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.