zoukankan      html  css  js  c++  java
  • java从c struct传来的字节数组中取值

    public int getInt(byte[] array,int index) {

      return (array[index]  & 0xff)  |

                (array[index + 1] & 0xff)<<8 |

                (array[index + 2] & 0xff)<<16 |

                array[index + 3] & 0xff<<24;

    }

     

    &0xff  相当与小0的数 加256 ,主要因为java byte 取值 -128-127 与 usign char 0- 255不同,所以要这样作

    << 8/16/24 主要是大小端的问题,根据实际情况改

    public class Utils{
    public static byte[] byteMerger(byte[] byte_1, byte[] byte_2){
    byte[] byte_3 = new byte[byte_1.length+byte_2.length];
    System.arraycopy(byte_1, 0, byte_3, 0, byte_1.length);
    System.arraycopy(byte_2, 0, byte_3, byte_1.length, byte_2.length);
    return byte_3;
    }
    public static int getInt(byte[] array, int index) {
    return (
    array[index] & 0xff)
    | (array[index + 1] & 0xff) << 8
    | (array[index + 2] & 0xff) << 16
    | array[index + 3] & 0xff << 24;
    }
    public static void setInt(byte[] array,int index, int value) {
    array[index] = (byte) value ;
    array[index + 1] = (byte) (value >>> 8);
    array[index + 2] = (byte) (value >>> 16);
    array[index + 3] = (byte) (value >>> 24);
    }
    }

  • 相关阅读:
    mysql 远程登陆不上
    hdu 5339 Untitled【搜索】
    SqlServer 书目
    passwordauthentication yes
    oracle 11g RAC ocfs2
    Oracle 11g RAC database on ASM, ACFS or OCFS2
    CentOS ips bonding
    Oracle 11g RAC features
    openStack 王者归来之 trivial matters
    openstack windows 2008 img
  • 原文地址:https://www.cnblogs.com/anjsoft/p/3446217.html
Copyright © 2011-2022 走看看