public static int parseInt ( byte [ ] b , int offset , int length , int base ) { int value = 0 ; //CHECKSTYLE:OFF if ( length < 0 ) { length = b . length - offset ; } //CHECKSTYLE:ON for ( int i = 0 ; i < length ; i ++ ) { char c = ( char ) ( _0XFF & b [ offset + i ] ) ; int digit = c - ' ' ; if ( digit < 0 || digit >= base || digit >= TEN ) { digit = TEN + c - ' ' ; if ( digit < TEN || digit >= base ) { digit = TEN + c - ' ' ; } } if ( digit < 0 || digit >= base ) { throw new NumberFormatException ( new String ( b , offset , length ) ) ; } value = value * base + digit ; } return value ; }
Parse an int from a byte array of ascii characters . Negative numbers are not handled .