1. length
+payload
场景
如果您需要将字符串字节存储到自定义长度数组中,那么您可以使用前 1 或 2 个字节来表示“长度”的概念。
代码如下所示:
byte[] dst = new byte[256];
String foo = "foo";
byte[] src = foo.getBytes("utf-8");
dst[0] = src.length;
System.arraycopy(src, 0, dst, 1, src.length);
2.0
元素场景
或者您可以检查数组,直到找到一个0
元素。但是不能保证0
您找到的第一个元素就是您需要的元素。
byte[] dst = new byte[256];
String foo = "foo";
byte[] src = foo.getBytes("utf-8");
System.arraycopy(src, 0, dst, 0, src.length);
int length = findLength(dst);
private int findLength(byte[] strBytes) {
for(int i=0; i< dst.length; ++i) {
if (dst[i] == 0) {
return i;
}
}
return 0;
}
我的选择:
我个人会选择length
+payload
场景。