# byte[] Array to Integer



## MQue (8. Jun 2009)

Hallo,

ich habe ein byte[] - Array in dem z.B.: steht:


```
[45, 50, 48, 48, 48, 13, 10]   // -2000 (nach ASCII)  13 und 10 sind CR und NL
oder
[48, 13, 10]                        // 0 (nach ASCII)
```

wie kann ich so ein byte- Array am schnellsten/besten in eine Integer- Zahl umwandeln? 
Vielen Dank,


----------



## ARadauer (8. Jun 2009)

zb...


```
byte[] arr = {45, 50, 48, 48, 48};

      String str = new String(arr);

      int i = Integer.valueOf(str);

      System.out.println(i);
```


----------



## Marco13 (8. Jun 2009)

Effizienter wäre es vermutlich mit bit-shifts - etwa wie

```
int i=0;
i |= ((arr[0]-'0') << 24);
i |= ((arr[1]-'0') << 16);
i |= ((arr[2]-'0') <<  8);
i |= ((arr[3]-'0') <<  0);
```


----------



## ARadauer (8. Jun 2009)

ich denke, das ist ein string der nur als byte[] vorliegt...


```
public static void main(String[] args){
      byte[] arr = {50, 48, 48, 48};
      
      
      String str = new String(arr);
      int i = Integer.valueOf(str);
      System.out.println(i); //2000
      
      
      int x=0;
      x |= ((arr[0]-'0') << 24);
      x |= ((arr[1]-'0') << 16);
      x |= ((arr[2]-'0') <<  8);
      x |= ((arr[3]-'0') <<  0);

      System.out.println(x); //33554432

   }
```


----------



## Marco13 (8. Jun 2009)

Aho - da hätte ich genauer hinsehen müssen .... sorry


----------

