为什么在转换字符串时为单个字符返回单字节

时间:2017-03-23 12:33:52

标签: java

据我所知,java中的char是从2个字节构建的,为什么这个测试通过?

assertEquals(4, "test".getBytes(Charset.forName("UTF-8")).length);

1 个答案:

答案 0 :(得分:3)

在UTF-8中,0x00到0x7F范围内的字符只有1个字节。因此,它长4个字节。

"test".getBytes(Charset.forName("UTF-16")

..将返回8个字节。

编辑:添加了@Rossums评论以获取更多详细信息。