Простые примеры базовых основ Java Byte [] преобразование друг друга с различными типами данных
Вот пример преобразования типов байтов в длинный, int, двойной, плавание, короткий, Cahr, объект, типы строк,
Во время разработки сокетов вам обычно нужно преобразовать некоторые конкретные значения (эти значения могут быть различными типами Java) в тип байта []. По этой причине я суммировал следующий пример и разместил его, чтобы я мог часто его читать:
Общедоступный класс Testcase { /*** Короткий до байтового массива преобразование. */ public static byte [] shorttobyte (короткое число) {int temp = number; байт [] b = новый байт [2]; for (int i = 0; i <b.length; i ++) {b [i] = new Integer (temp & 0xff) .bytevalue (); // Сохранить самый низкий бит в самом низком бит temp = temp >> 8; // Переместить 8 битов вправо} return b; } /*** Преобразование из байтового массива в короткое. */ public static short bytetoshort (byte [] b) {short s = 0; короткий s0 = (короткий) (b [0] & 0xff); // самый низкий бит короткий s1 = (короткий) (b [1] & 0xff); S1 << = 8; S = (короткий) (S0 | S1); возврат S; } /*** Преобразование из массива int в байт. */ public static byte [] inttobyte (int number) {int temp = number; байт [] b = новый байт [4]; for (int i = 0; i <b.length; i ++) {b [i] = new Integer (temp & 0xff) .bytevalue (); // Сохранить самый низкий бит в самом низком бит temp = temp >> 8; // Переместить 8 битов вправо} return b; } /*** Преобразование из байтового массива в Int. */ public static int bytetoint (byte [] b) {int s = 0; int s0 = b [0] & 0xff; // самый низкий бит int s1 = b [1] & 0xff; int s2 = b [2] & 0xff; int s3 = b [3] & 0xff; S3 << = 24; S2 << = 16; S1 << = 8; S = S0 | S1 | S2 | S3; возврат S; } / *** Преобразовать длинный тип в массив байтов* / public static byte [] longtobyte (long number) {long temp = number; байт [] b = новый байт [8]; for (int i = 0; i <b.length; i ++) {b [i] = new long (temp & 0xff) .bytevalue (); // Сохранить самый низкий бит в самых низких битах temp = temp // >> 8; // переместить 8 битов вправо} return b; } /*** Преобразование из байтового массива в длинный. */ public static long bytetolong (byte [] b) {long s = 0; long s0 = b [0] & 0xff; // самый низкий бит длиной s1 = b [1] long s2 = b [2] & 0xff; длинный s3 = b [3] & 0xff; long s4 = b [4] & 0xff; // самый низкий бит длиной s5 = b [5] & 0xff; длинный s6 = b [6] & 0xff; long s7 = b [7] & 0xff; // S0 не изменяется S1 << = 8; S2 << = 16; S3 << = 24; S4 << = 8 * 4; S5 << = 8 * 5; S6 << = 8 * 6; S7 << = 8 * 7; S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7; возврат S; } /*** Преобразование из массива двойного в байт. */ public static byte [] doubletobyte (double num) {byte [] b = new Byte [8]; long l = double.doubletolongbits (num); for (int i = 0; i <8; i ++) {b [i] = new long (l) .bytevalue (); l = l >> 8; } return b; } /*** Преобразование из байтового массива в удвоение. */ public static double getDouble (byte [] b) {long m; m = b [0]; m & = 0xff; m | = ((Long) b [1] << 8); m & = 0xffffffff; m | = ((Long) B [2] << 16); m & = 0xffffffffff; m | = ((Long) B [3] << 24); m & = 0xfffffffffffl; m | = ((Long) B [4] << 32); m & = 0xffffffffffffl; m | = ((Long) B [5] << 40); m & = 0xffffffffffffl; m | = ((Long) b [6] << 48); m & = 0xffffffffffffffl; m | = ((Long) B [7] << 56); вернуть Double.longbitstodouble (m); } /*** Преобразование из массива Float в байт. * /public static void floattobyte (float x) {// конвертировать float.floattointbits (f) в int} /*** Преобразование из массива байтов в Float. */ public static float getfloat (byte [] b) {// 4 байт int accum = 0; for (int shiftby = 0; shiftby <4; shiftby ++) {accum | = (b [shiftby] & 0xff) << shiftby * 8; } return float.intbitstofloat (accum); } /*** Преобразование из char в байт массив. */ public static byte [] chartobyte (char c) {byte [] b = новый байт [2]; b [0] = (byte) ((C & 0xff00) >> 8); b [1] = (byte) (c & 0xff); возврат B; } /*** Преобразование из байтового массива в Char. */ public static char bytetochar (byte [] b) {char c = (char) (((b [0] & 0xff) << 8) | (b [1] & 0xff)); возврат C; } /*** Преобразование из строки в массив байтов. */ public static byte [] stringTobyte (String Str) бросает UnsupportedEncodingException {return str.getBytes ("gbk"); } /*** Преобразование из байтового массива в строку. */ public Static String ByteStoString (byte [] str) {String Keyword = null; try {Keyword = new String (str, "gbk"); } catch (unsupportEncodingexception e) {e.printstacktrace (); } вернуть ключевое слово; } / *** Преобразование из объекта в массив байтов* / @test public void testObject2byTearray () бросает ioException, classnotFoundException {// Object obj = ""; Integer [] obj = {1, 3, 4}; // // объект Bytearray BytearrayOutputStream bo = new BytearrayOutputStream (); ObjectOutputStream OO = new ObjectOutputStream (bo); OO.WriteObject (OBJ); byte [] bytes = bo.tobytearray (); bo.close (); oo.close (); System.out.println (Arrays.ToString (байты)); Integer [] intarr = (Integer []) testBytearRay2object (Bytes); System.out.println (arrays.aslist (intarr)); байт [] b2 = inttobyte (123); System.out.println (Arrays.toString (B2)); int a = bytetoint (b2); System.out.println (a); } /*** Преобразование из байтового массива в объект. */ private Object testbytearray2object (byte [] bytes) бросает ioexception, classnotfoundexception {// byte [] bytes = null; Объект obj; // Bytearray для объекта BytearrayinputStream bi = new Bytearrayinptstream (Bytes); ObjectInputStream oi = new ObjectInputStream (Bi); obj = oi.readObject (); bi.close (); oi.close (); System.out.println (obj); вернуть OBJ; }}Спасибо за чтение, я надеюсь, что это поможет вам. Спасибо за поддержку этого сайта!