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

怎么将汉字“中”正常读出来呢?

老师说中属于utf-16be,可以单独读出来,但是怎么单独读出来呢?

提问者:qq_萍萍儿_0 2016-04-04 22:16

个回答

  • leowei
    2016-10-31 11:19:16

    其实写入'a' 不会干扰,写入'a'的后8位正好符合gbk编码,而是中间写入了int数,这个收到了干扰。



  • helloworld2008
    2016-07-20 11:27:40

    只要你的编码方式保持一致就可以了~

    你这“中”字前面有没有写入其他的,有时候也是受到前面的干扰,比如write("A");这样的,写入只写了一个字节,但是一个字符却是两个字节,但是读出来的时候只是1个字节,所以读到后面的时候就可能会出现问题。【不过我们也能看出来这1个字节表示的是这个字符】

    你也可以利用seek()来确定确定“中”字的位置,然后开始读,这样的话,都不会出现问题,就是稍微有一丢丢麻烦。

    楼上的应该就是利用系统默认的编码方式我gbk。

  • qq电子时代
    2016-04-13 20:12:05

    我这也没有出乱码啊  直接就读出来了 

    ??????

    占个地  谁能讲解讲解

  • 别路Biello
    2016-04-05 14:19:30

    在中的起始位置读两个字节到字节数组b里,再转化成utf-16be的字符串就可以了。

    String s=new String(b,"utf-16be");