Java ByteBuffer Read readIso639(ByteBuffer bb)

Here you can find the source of readIso639(ByteBuffer bb)

Description

read Iso

License

Apache License

Declaration

public static String readIso639(ByteBuffer bb) 

Method Source Code

//package com.java2s;
/*//from   ww w  .  ja  v  a2  s . c  o m
 * Copyright 2012 Sebastian Annies, Hamburg
 *
 * 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.
 */

import java.nio.ByteBuffer;

public class Main {
    public static String readIso639(ByteBuffer bb) {
        int bits = readUInt16(bb);
        StringBuilder result = new StringBuilder();
        for (int i = 0; i < 3; i++) {
            int c = (bits >> (2 - i) * 5) & 0x1f;
            result.append((char) (c + 0x60));
        }
        return result.toString();
    }

    public static int readUInt16(ByteBuffer bb) {
        int result = 0;
        result += byte2int(bb.get()) << 8;
        result += byte2int(bb.get());
        return result;
    }

    public static int byte2int(byte b) {
        return b < 0 ? b + 256 : b;
    }
}

Related

  1. readFourByteInt(ByteBuffer buffer, int start)
  2. readFrom(File file, ByteBuffer buffer)
  3. readFully(final FileChannel src, final ByteBuffer dst, final long position)
  4. readHealthFloat16(ByteBuffer data)
  5. readHexString(ByteBuffer buffer, int nrBytes)
  6. readKatakana(ByteBuffer b, char s[], int off, int len)
  7. readLen(ByteBuffer dup, int nls)
  8. readLink(ByteBuffer bb)
  9. readLink(ByteBuffer bb)