为什么两个字符的UTF-16字符串只占用6个字节,而一个字符的UTF-16字符串却占用4个字节?
下面是Java中的SSCCE代码来演示这个行为:
public class UTF16Test{
public static void main(String[] args) throws Exception {
System.out.println("A".getBytes("UTF-16").length);
System.out.println("AB".getBytes("UTF-16").length);
}
}
输出:
4
6
[-2,-1,0,65,0,66]
- 是的,字节顺序标记。 - rolfl