Java ByteBuffer Write writeHexString(ByteBuffer buffer, String hexStr)

Here you can find the source of writeHexString(ByteBuffer buffer, String hexStr)

Description

Writes a sequence of hexidecimal values into the given buffer, where every two characters represent one byte value.

License

Open Source License

Declaration

public static void writeHexString(ByteBuffer buffer, String hexStr) throws IOException 

Method Source Code

//package com.java2s;
/*/*from   w  w  w  .j  a  v  a  2  s  . c om*/
Copyright (c) 2005 Health Market Science, Inc.
    
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
    
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
    
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
USA
    
You can contact Health Market Science at info@healthmarketscience.com
or at the following address:
    
Health Market Science
2700 Horizon Drive
Suite 200
King of Prussia, PA 19406
*/

import java.io.IOException;

import java.nio.ByteBuffer;

public class Main {
    /**
     * Writes a sequence of hexidecimal values into the given buffer, where
     * every two characters represent one byte value.
     */
    public static void writeHexString(ByteBuffer buffer, String hexStr) throws IOException {
        char[] hexChars = hexStr.toCharArray();
        if ((hexChars.length % 2) != 0) {
            throw new IOException("Hex string length must be even");
        }
        for (int i = 0; i < hexChars.length; i += 2) {
            String tmpStr = new String(hexChars, i, 2);
            buffer.put((byte) Long.parseLong(tmpStr, 16));
        }
    }
}

Related

  1. writeFully(WritableByteChannel channel, ByteBuffer[] srcs)
  2. writeHalf(final ByteBuffer buf, final int value)
  3. writeHeader(int type, ByteBuffer lengthBuffer, ByteBuffer buffer)
  4. writeHeaderAndLsd(ByteBuffer out, int width, int height, boolean hasGct, int gctSize)
  5. writeHexString(ByteBuffer buffer, String hex)
  6. writeImageDescriptor(ByteBuffer out, int imageLeft, int imageTop, int imageWidth, int imageHeight, boolean hasLct, int numColors)
  7. writeInt(ByteBuffer buf, int pos, int v)
  8. writeInt(ByteBuffer logBuf, int i)
  9. writeInt24(int v, ByteBuffer buffer)