您的位置:首页 > 编程语言 > Java开发

java输出txt文件为unicode的编码方式

2014-03-21 13:47 417 查看
Java代码

os1 = new BufferedOutputStream(new FileOutputStream(f));

byte[] bom={-1, -2};

os1.write(bom);

os1.write("测试".getBytes("UTF-16LE"));

JAVA内部使用的unicode是UTF-16BE的,当上面的getBytes中的字符集指定为:
UTF-16或unicode时,文件输出为UTF-16BE,而且本件内包含两个字节的BOM(Byte Order Marker)信息。
UTF-16BE或UTF-16LE时,文件输出为分别为UTF-16BE和UTF-16LE,但文件内不包含BOM信息。
当NODEPAD(记事本)打开文件时会自己判断BOM信息,来以合适的方式打开文件,其中它里面的unicode就是UTF-16LE,unicode big endian就是UTF-16BE。
所以,为了记事本显示为unicode,需要人为的加入BOM信息,如上面的:
Java代码

byte[] bom={-1, -2};

os1.write(bom);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: