Contoh sederhana byte dasar -dasar java [] mengonversi satu sama lain dengan berbagai tipe data
Berikut adalah contoh konversi jenis byte [] menjadi panjang, int, ganda, mengapung, pendek, cahr, objek, tipe string,
Selama pengembangan soket, Anda biasanya perlu mengonversi beberapa nilai spesifik (nilai -nilai ini mungkin beragam tipe java) menjadi tipe byte []. Untuk alasan ini, saya telah merangkum contoh berikut dan mempostingnya sehingga saya dapat sering membacanya:
Testcase kelas publik { /*** Konversi array pendek ke byte. */ byte statis publik [] shorttobyte (nomor pendek) {int temp = angka; byte [] b = byte baru [2]; untuk (int i = 0; i <b.length; i ++) {b [i] = integer baru (temp & 0xff) .byTevalue (); // Simpan bit terendah di bit terendah temp = temp >> 8; // pindahkan 8 bit ke kanan} return b; } /*** Konversi dari array byte ke pendek. */ public static pendek bytetoshort (byte [] b) {short s = 0; pendek s0 = (pendek) (b [0] & 0xff); // bit pendek s1 = (pendek) (b [1] & 0xff); S1 << = 8; s = (pendek) (S0 | S1); kembali S; } /*** konversi dari int ke array byte. */ byte statis publik [] inttobyte (nomor int) {int temp = angka; byte [] b = byte baru [4]; untuk (int i = 0; i <b.length; i ++) {b [i] = integer baru (temp & 0xff) .byTevalue (); // Simpan bit terendah di bit terendah temp = temp >> 8; // pindahkan 8 bit ke kanan} return b; } /*** Konversi dari array byte ke int. */ public static int bytetoint (byte [] b) {int s = 0; int s0 = b [0] & 0xff; // bit int s1 = b [1] & 0xff terendah; int s2 = b [2] & 0xff; int s3 = b [3] & 0xff; S3 << = 24; S2 << = 16; S1 << = 8; S = S0 | S1 | S2 | S3; kembali S; } / *** Konversi tipe panjang ke array byte* / public static byte [] longtobyte (bilangan panjang) {long temp = angka; byte [] b = byte baru [8]; untuk (int i = 0; i <b.length; i ++) {b [i] = baru long (temp & 0xff) .bytevalue (); // simpan bit terendah di bit terendah Temp = temp // >> 8; // pindahkan 8 bit ke kanan} return b; } /*** Konversi dari array byte menjadi lama. */ public static long bytetolong (byte [] b) {long s = 0; long s0 = b [0] & 0xff; // bit terendah s1 = b [1] long s2 = b [2] & 0xff; long s3 = b [3] & 0xff; long s4 = b [4] & 0xff; // bit terendah S5 = b [5] & 0xff; long s6 = b [6] & 0xff; long s7 = b [7] & 0xff; // S0 tidak berubah 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; kembali S; } /*** Konversi dari array ganda ke byte. */ public static byte [] doubletobyte (num ganda) {byte [] b = byte baru [8]; long l = double.doubleToLongBits (num); untuk (int i = 0; i <8; i ++) {b [i] = new long (l) .bytevalue (); l = l >> 8; } return b; } /*** Konversi dari array byte ke ganda. */ getDouble double statis publik (byte [] b) {long m; m = b [0]; m & = 0xff; m | = ((panjang) b [1] << 8); m & = 0xffffffff; m | = ((panjang) b [2] << 16); m & = 0xffffffffff; m | = ((panjang) b [3] << 24); m & = 0xffffffffffl; m | = ((panjang) b [4] << 32); m & = 0xFFFFFFFFFFFFL; m | = ((panjang) b [5] << 40); m & = 0xFFFFFFFFFFFFL; m | = ((panjang) b [6] << 48); m & = 0xFFFFFFFFFFFFFFL; m | = ((panjang) b [7] << 56); return double.longbitstodouble (m); } /*** Konversi dari float to byte array. * /public static void floattoByte (float x) {// convert float.floattointbits (f) ke int} /*** konversi dari array byte ke float. */ public static float getFloat (byte [] b) {// 4 byte int accum = 0; untuk (int shiftby = 0; shiftby <4; shiftby ++) {accum | = (b [shiftby] & 0xff) << shiftby * 8; } return float.intbitstofloat (accum); } /*** Konversi dari char ke array byte. */ public static byte [] chartobyte (char c) {byte [] b = byte baru [2]; B [0] = (byte) ((C & 0xFF00) >> 8); B [1] = (byte) (c & 0xff); kembali b; } /*** Konversi dari array byte ke char. */ public static char bytetochar (byte [] b) {char c = (char) (((b [0] & 0xff) << 8) | (b [1] & 0xff)); kembali C; } /*** Konversi dari string ke array byte. */ public static byte [] stringtobyte (string str) melempar UnsportedEncodingException {return str.getbytes ("gbk"); } /*** Konversi dari array byte ke string. */ public static string bytestoString (byte [] str) {string Keyword = null; coba {kata kunci = string baru (str, "gbk"); } catch (UnsupportedEncodingException e) {e.printstacktrace (); } return kata kunci; } / *** Konversi dari objek ke array byte* / @test public void testObject2byTeArray () melempar ioException, classNotFoundException {// objek obj = ""; Integer [] obj = {1, 3, 4}; // // Object to ByTeArray ByTeArrayOutputStream Bo = new ByTeArrayOutputStream (); ObjectOutputStream OO = ObjectOutputStream baru (BO); oo.writeObject (OBJ); byte [] bytes = bo.tobytearray (); bo.close (); oo.close (); System.out.println (arrays.tostring (bytes)); Integer [] intarr = (integer []) testByTeArray2Object (bytes); System.out.println (arrays.aslist (intarr)); byte [] b2 = inttobyte (123); System.out.println (arrays.tostring (B2)); int a = bytetoint (b2); System.out.println (a); } /*** Konversi dari array byte ke objek. */ objek pribadi testByTeArray2Object (byte [] bytes) melempar ioException, ClassNotFoundException {// byte [] bytes = null; Objek obj; // bytearray ke objek bytearrayInputStream bi = new bytearrayInputStream (bytes); ObjectInputStream oi = ObjectInputStream baru (BI); obj = oi.readObject (); bi.close (); oi.close (); System.out.println (OBJ); kembalikan obj; }}Terima kasih telah membaca, saya harap ini dapat membantu Anda. Terima kasih atas dukungan Anda untuk situs ini!