过去的所谓"Unicode编码"其实是指UCS-16编码,unicode是指字符集,连gb18030都是unicode编码。而“Unicode big endian ”是UTF-16BE编码,也属于unicode编码. 可以改成OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(file,true),"UTF-16LE");//应该就是你要的不严谨的"unicode"编码