srying
srying
2015-09-17 06:53
采纳率: 50%
浏览 2.1k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • caozhy
    已采纳
     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];
    }
    
    点赞 评论
  • qq396972348
    小学生G 2015-09-17 08:02

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

    点赞 评论
  • qq396972348
    小学生G 2015-09-17 08:02

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

    点赞 评论

相关推荐