Here you can find the source of bytesToLength(final byte bytes[])
public static long bytesToLength(final byte bytes[])
//package com.java2s; /**//from www. ja v a 2 s . co m * Copyright 2009 Jason Pelzer. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { /** * Takes an array of 4 bytes and converts it to a long, the way the ID3 tag expects it to be * converted, which is to say that only 7 bits of each byte is used, giving a max value of 2^28. */ public static long bytesToLength(final byte bytes[]) { return bytes[0] << 21 | bytes[1] << 14 | bytes[2] << 7 | bytes[3]; } }