为了账号安全,请及时绑定邮箱和手机立即绑定

Java UTF-16字符串始终使用4个字节而不是2个字节

Java UTF-16字符串始终使用4个字节而不是2个字节

郎朗坤 2021-05-06 17:43:20
我有一个简单的测试@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我究竟做错了什么?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 298 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信