Java Array Unpack unpackBCD(byte[] source)

Here you can find the source of unpackBCD(byte[] source)

Description

Unpack the binary-coded decimal.

License

Apache License

Parameter

Parameter Description
source the byte array containing the binary-coded decimal to unpack

Return

the byte array containing the unpacked binary-coded decimal

Declaration

public static byte[] unpackBCD(byte[] source) 

Method Source Code

//package com.java2s;
/*/*w  w w  .j a  v a2  s . co  m*/
 * Copyright 2017 Marcus Portmann
 *
 * 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 {
    /**
     * Unpack the binary-coded decimal.
     *
     * @param source the byte array containing the binary-coded decimal to unpack
     *
     * @return the byte array containing the unpacked binary-coded decimal
     */
    public static byte[] unpackBCD(byte[] source) {
        byte[] ret = new byte[source.length * 2];
        int index = 0;

        for (byte aSource : source) {
            ret[index + 1] = (byte) (aSource & 0x0F);
            ret[index] = (byte) ((aSource >> 4) & 0x0F);
            index += 2;
        }

        return ret;
    }
}

Related

  1. unpack(byte[] array)
  2. unpack(byte[] bytes)
  3. unpack(double[] packed, int width, int height, int outputIndex)
  4. unpack(int[] sourcearray, int arraypos, int[] data, int datapos, int num, int b)
  5. unpackDie(byte[] bytes)
  6. UnpackFloat(byte[] bytes, float value)
  7. UnpackFloatBuffer(byte[] buffer, long bytes_read, long num_loaded, float[] list)
  8. unpackInt(byte[] data, int offset)