I have a simple test
@Test
public void utf16SizeTest() throws Exception {
final String test = "п";
// 'п' = U+043F according to unicode table
// 43F to binary = 0100 0011 1111 (length is 11)
// ADD '0' so length should be = 16
// 0000 0100 0011 1111
// 00000100(2) 00111111(2)
// 4(10) 63(10)
final byte[] bytes = test.getBytes("UTF-16");
for (byte aByte : bytes) {
System.out.println(aByte);
}
}
如您所见,我首先将 'п' 转换为二进制,然后添加足够多的空位,直到 length != 16
。
我期望输出结果为 4, 63
。
但实际结果是:
-2
-1
4
63
我做错了什么?