Java Convert via ByteBuffer hexToBytes(String hexString)

Here you can find the source of hexToBytes(String hexString)

Description

hex To Bytes

License

Apache License

Declaration

public static byte[] hexToBytes(String hexString) 

Method Source Code

//package com.java2s;
/*****************************************************************
 *   Licensed to the Apache Software Foundation (ASF) under one
 *  or more contributor license agreements.  See the NOTICE file
 *  distributed with this work for additional information
 *  regarding copyright ownership.  The ASF licenses this file
 *  to you 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.//from ww  w  . ja  v a  2 s.c om
 ****************************************************************/

import java.math.BigInteger;
import java.nio.ByteBuffer;

import java.util.Arrays;

public class Main {
    public static byte[] hexToBytes(String hexString) {
        byte[] bytes = new BigInteger(hexString, 16).toByteArray();

        // http://stackoverflow.com/questions/4407779/biginteger-to-byte
        if (bytes.length > 0 && bytes[0] == 0) {
            return Arrays.copyOfRange(bytes, 1, bytes.length);
        } else {
            return bytes;
        }
    }

    public static byte[] toByteArray(int integer) {

        if (integer <= Short.MAX_VALUE) {
            return toByteArray((short) integer);
        }

        return ByteBuffer.allocate(4).putInt(integer).array();
    }

    public static byte[] toByteArray(short shortInt) {
        if (shortInt <= Byte.MAX_VALUE) {
            return toByteArray((byte) shortInt);
        }

        return ByteBuffer.allocate(2).putShort(shortInt).array();
    }

    public static byte[] toByteArray(byte byteInt) {
        return new byte[] { byteInt };
    }
}

Related

  1. hexDump(byte[] buffer)
  2. hexStringToBytes(String hexString)
  3. hexStrToStr(String hexStr)
  4. hexToAscii(byte[] src)
  5. hexToBytes(String hexStr)
  6. intArrayFromBytes(byte[] bytes)
  7. intArrayToByteArray(int[] intArray)
  8. intArrayToBytes(Collection values)
  9. intArrayToIntBuffer(int[] data)