问答详情
源自:3-1 RandomAccessFile基本操作

write只写一个字节,为啥写个中文指针进2

视频里写“中”字那一段指针到12了?为什么

提问者:我爱孙佳怡 2019-05-20 11:55

个回答

  • 这块显卡不太热_
    2019-10-20 00:16:20

    gbk编码会将一个汉字转成2个字节

    而RandomAccess中write(byte[])方法内部调用了wrietBytes()方法,wrietBytes这个方法会将字节数组写入文件。

    public void write(byte b[]) throws IOException {
        writeBytes(b, 0, b.length);
    }

    wrietBytes方法是jvm调用c/c++程序的接口,没有跟到源码...


  • qq_prisoner_4
    2019-05-26 21:16:49

    同问。。

  • 1315020626
    2019-05-20 20:49:00

    因为一个汉字两个字节