为什么不是utf8文件的第一个字符?而是int值是65279这么一个无法打印的东东。InputStream is= new FileInputStream("d:\\works\\utf8");
InputStreamReader isr = new InputStreamReader(is,"UTF-8");
char buffer[]=new char[100];
isr.read(buffer,0,3);文件内容是"cvcv",而读出的第一个字符是无法打印的65279,第二个字符才是c,

解决方案 »

  1.   

    http://www.codeguru.com/Cpp/misc/misc/multi-lingualsupport/article.php/c10451/这还有个翻译的http://www.bloghome.cn/index.php?op=ViewArticle&articleId=11938&blogId=14603
      

  2.   

    zdsdiablo(十分钟年华老去) 能不能帮忙解释解释,没看太明白,怎么会多出一个字符
      

  3.   

    很多文本文件会在文件的开始用两个字节表示此文件使用的编码,这样编辑器就能明白应该用哪种方式解析,如果没有这两个字节,编辑器只能根据统计来决定解码方式,这样有的时候就会有乱码。你看到的字节应该就是UTF-8的编码号。不过这样文本就不是“纯文本”了,根据需要你可能要自己查看一下是否要跳过开始的字符。有些类库会自动做相应的处理。