Here you can find the source of bytesToChar(byte[] arr, int pos)
Parameter | Description |
---|---|
arr | the array to read the character from. |
pos | the position of the character's first byte. |
Parameter | Description |
---|---|
IllegalArgumentException | if the position is out of the range of the byte array. |
public static char bytesToChar(byte[] arr, int pos) throws IllegalArgumentException
//package com.java2s; /*/*from w w w . j a v a2 s . c o m*/ * Process Sketcher is a simple flowchart making software. * Copyright (C) 2015 Jonathon Prehn, Kevin Prehn * * This file is a part of Process Sketcher. * * Process Sketcher is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Process Sketcher 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Process Sketcher. If not, see <http://www.gnu.org/licenses/>. */ public class Main { /** * Reads a character from a byte array. * * @param arr the array to read the character from. * @param pos the position of the character's first byte. * @return the read character. * @throws IllegalArgumentException if the position is out of the * range of the byte array. */ public static char bytesToChar(byte[] arr, int pos) throws IllegalArgumentException { checkBounds(arr, pos); return (char) ((((short) arr[pos] << 8) & 0xFF00) | ((short) arr[pos + 1] & 0x00FF)); } /** * Checks the position to the bounds of the byte array. * @param arr the byte array * @param pos the position in the byte array * @throws IllegalArgumentException thrown if the position is out of the * byte array's bounds. */ private static void checkBounds(byte[] arr, int pos) throws IllegalArgumentException { if (pos < 0 || pos >= arr.length) { throw new IllegalArgumentException( "Position is out of bounds of " + "the byte array: position is " + pos + " while the byte" + " array only accepts 0 to " + (arr.length - 1)); } } }