java 寫 語言兼容的二進制文件

       
        ByteBuffer _nbuffer = ByteBuffer.allocate(20);
        _nbuffer.order(ByteOrder.BIG_ENDIAN);   //注意這裏
        _nbuffer.putChar('A');
        _nbuffer.putChar('B');
        _nbuffer.putChar('C');
        _nbuffer.putChar(' ');
        _nbuffer.putChar('中');
        _nbuffer.putChar('國');
        _nbuffer.flip();
       
        byte[] bb2 = _nbuffer.array();
        for (int i = 0; i < bb2.length; i++) {
            System.out.println("bb2[i]=" + Integer.toHexString(0xff & bb2[i]));
        }
       
        FileOutputStream st2 = new FileOutputStream(new File("/a2.temp"));
        st2.write(bb2, 0, bb2.length);
        st2.close();

 

這樣得到的是ucs2的(在英文的XP下試驗是ucs2的)。如果想寫純英文的、非unicode的,就

buff.put((byte)'A');

 

 

僅作記號以備用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章