我有一个简单的测试@Testpublic 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-1463我究竟做错了什么?
添加回答
举报
0/150
提交
取消