Java ByteBuffer Endian swapEndian16(ByteBuffer buf)

Here you can find the source of swapEndian16(ByteBuffer buf)

Description

swap Endian

License

Open Source License

Declaration

public static void swapEndian16(ByteBuffer buf) 

Method Source Code

//package com.java2s;
/* JKTX/*from   www  .j a  v a 2 s  .  c om*/
 * 
 * Copyright (c) 2011 Timon Bijlsma
 *   
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public License
 * as published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
    
 * This program 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 Library General Public License for more details.
 * 
 * You should have received a copy of the GNU Library General Public
 * License along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

import java.nio.ByteBuffer;

public class Main {
    public static void swapEndian16(ByteBuffer buf) {
        int elems = buf.remaining() / 2;
        for (int n = 0, t = buf.position(); n < elems; n++, t += 2) {
            short s = buf.getShort(t);
            s = (short) ((s << 8) | (s >>> 8));
            buf.putShort(t, s);
        }
    }
}

Related

  1. decodeLittleEndianFixedWidthLong(ByteBuffer buffer)
  2. decodeLittleEndianVarInt(ByteBuffer buffer)
  3. extractInt(ByteBuffer header_buf, boolean bigEndian)
  4. extractShort(ByteBuffer buffer, boolean bigEndian)
  5. inLittleEndianOrder(ByteBuffer buf)