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);
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);
相关文章推荐
- spring (2.5, 3.2) 在 jre 1.8下的fix
- MAC下Android的Eclipse开发环境的搭建
- java synchronized关键字浅析
- JAVA多态
- struts2 <s:textfield> value属性默认值解决方案
- String.Format in Java and C#
- Java面向对象之封装
- Java获取当前时间的年月日方法
- JAVA反射机制
- JAVA 利用Dom4j实现英语六级词汇查询 含演示地址
- 蓝桥杯2014年以前JAVA历年真题及答案整理——猜算式
- java中字符串的编码解码问题
- spring单元测试
- Spring 定时器
- java中hashcode()和equals()的详解---小笔记
- js模仿java的Map集合,实现功能
- 禁用JavaWeb应用中URL上包含的jsessionid
- java 中import 和 package 小解
- Java_swing_边框简单实现
- Java面向对象——类加载器