据我所知,java中的char是从2个字节构建的,为什么这个测试通过?
assertEquals(4, "test".getBytes(Charset.forName("UTF-8")).length);
答案 0 :(得分:3)
在UTF-8中,0x00到0x7F范围内的字符只有1个字节。因此,它长4个字节。
"test".getBytes(Charset.forName("UTF-16")
..将返回8个字节。
编辑:添加了@Rossums评论以获取更多详细信息。