Charset utf8 = Charset.forName("utf8");
String ss = "I love you";
ByteBuffer buffer = utf8.encode(ss);
byte[] bytes = buffer.array();
for (byte b : bytes){
System.out.println(b);
}
打印结果: 73 32 108 111 118 101 32 121 111 117 0 把"I love you"的'u'去掉得到: 73 32 108 111 118 101 32 121 111 没 0 啊?
1
ThirdFlame 2018-07-03 09:41:47 +08:00
00 代表结束?
|
2
codechaser OP @ThirdFlame 你好,我刚刚把'u'去掉了也没有 0 啊?
|
3
hand515 2018-07-03 09:45:17 +08:00
C 里的结束字符\0?
|
4
codechaser OP @hand515 这是 java,java 有结束字符吗?
|
5
sagaxu 2018-07-03 09:55:59 +08:00 via Android
|
6
codechaser OP @sagaxu Thanks!
|
7
joyme 2018-07-03 10:32:08 +08:00
ByteBuffer 有 limit 和 capacity 成员变量,limit 是结束位,capacity 是实际的容量。应该根据 limit 去读实际的内容。
|
8
lcdxiangzi 2018-07-04 15:55:35 +08:00
没有看懂为什么 ByteBuffer 要这样设计呢?有人可以指点一下吗?
|