在Java程序中的字符,不管是中文的还是英文的,都是占用二个字节,这个结论我们大家都烂熟于心了,但是纠结是为什么呢?
其实是因为 char 类型 就好比双字节 的无符号整数 。
UTF-16编码 与Unicode编码是一样的,只不过UTF-16在编码时会在码流前加上"FE FF"两个字节的内容, 表示字符是以UTF-16格式存储的,在读取时程序就会知道是UTF-16编码的字符 。
中文字符转UTF-16 :
byte[] encodeArr = String.v