怎样截取从右边数第一个不为零的byte数组

java怎样截取从右边数第一个不为零的byte数组,我处理byte数组时不知道什么原因在数组的后边自动添加了很多为零的数据

 for (i = data.size() - 1; i >= 0; i--)
{
    if (data[i] != 0) break;
}
byte[] result = new byte[i + 1];
for (i = 0; i <= i; i++)
{
    result[i] = data[i];
}

byte数组里面存的都是串,不赞成截取。如果存在汉字什么的,截取掉可能破坏数据完整性,可以转换成字符串截取。后面很多零:比方说你定义byte数组长度是5,数据只占了四位的长度,多余的会自动补零

byte数组里面存的都是串,不赞成截取。如果存在汉字什么的,截取掉可能破坏数据完整性,可以转换成字符串截取。后面很多零:比方说你定义byte数组长度是5,数据只占了四位的长度,多余的会自动补零