黑马程序员技术交流社区
标题:
为何unicode编码前面会多2个字节的FEFF标识?
[打印本页]
作者:
as604049322
时间:
2015-5-26 17:37
标题:
为何unicode编码前面会多2个字节的FEFF标识?
百度了才知道原来这个叫BOM标识头,除了FEFF外还有FFFE。
可参考:http://www.jb51.net/article/15558.htm#content_2_3
不过我发现其实java的unicode编码就相当于utf-16BE编码,
但unicode编码会多2个字节的BOM标识头,,,我们可以采用utf-16BE编码来去掉这个标识头
如下图:
1.png
(215.23 KB, 下载次数: 1)
下载附件
2015-5-26 17:36 上传
代码:
byte[] b1="王者".getBytes("utf-16LE");
byte[] b2="王者".getBytes("utf-16BE");
byte[] b3="王者".getBytes("utf-16");
byte[] b4="王者".getBytes("unicode");
for(byte b:b1){
System.out.print(Integer.toHexString(b&255).toUpperCase()+",");
}
System.out.println();
for(byte b:b2){
System.out.print(Integer.toHexString(b&255).toUpperCase()+",");
}
System.out.println();
for(byte b:b3){
System.out.print(Integer.toHexString(b&255).toUpperCase()+",");
}
System.out.println();
for(byte b:b4){
System.out.print(Integer.toHexString(b&255).toUpperCase()+",");
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2