أمثلة بسيطة ل Byte Byte Byte [] [] تحويل بعضها البعض مع أنواع البيانات المختلفة
فيما يلي مثال على تحويل أنواع البايت [] إلى طويلة ، int ، مزدوجة ، تعويم ، قصيرة ، cahr ، الكائن ، أنواع السلسلة ،
أثناء تطوير المقبس ، عادة ما تحتاج إلى تحويل بعض القيم المحددة (قد تكون هذه القيم أنواعًا مختلفة من Java) إلى نوع Byte []. لهذا السبب ، قمت بتلخيص المثال التالي ونشرته حتى أتمكن من قراءته بشكل متكرر:
الفئة العامة testcase { /*** قصيرة لتحويل مجموعة البايت. */ public static byte [] ShortTobyte (رقم قصير) {int temp = number ؛ بايت [] ب = بايت جديد [2] ؛ لـ (int i = 0 ؛ i <b.length ؛ i ++) {b [i] = new integer (temp & 0xff) .bytevalue () ؛ // حفظ أقل بت في أدنى درجة حرارة = temp >> 8 ؛ // نقل 8 بت إلى اليمين} return b ؛ } /*** التحويل من مجموعة البايت إلى قصيرة. */ public static short bytetoshort (byte [] b) {short s = 0 ؛ Short S0 = (قصير) (B [0] & 0xff) ؛ // أدنى بتات قصيرة S1 = (قصيرة) (B [1] & 0xff) ؛ S1 << = 8 ؛ s = (قصير) (s0 | s1) ؛ العودة s ؛ } /*** التحويل من int إلى مجموعة البايت. */ public static byte [] inttobyte (int number) {int temp = number ؛ بايت [] ب = بايت جديد [4] ؛ لـ (int i = 0 ؛ i <b.length ؛ i ++) {b [i] = new integer (temp & 0xff) .bytevalue () ؛ // حفظ أقل بت في أدنى درجة حرارة = 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 ؛ } / *** قم بتحويل النوع الطويل إلى صفيف البايت* / البايت الثابت العام [] LongTobyte (رقم طويل) {long temp = number ؛ بايت [] ب = بايت جديد [8] ؛ لـ (int i = 0 ؛ i <b.length ؛ i ++) {b [i] = new long (temp & 0xff) .bytevalue () ؛ // حفظ أدنى بت في أدنى درجة حرارة = temp // >> 8 ؛ // نقل 8 بت إلى اليمين} return b ؛ } /*** التحويل من مجموعة البايت إلى طويلة. */ public static bytetolong (byte [] b) {long s = 0 ؛ Long S0 = B [0] & 0xff ؛ // أدنى عدد طويل S1 = B [1] Long S2 = B [2] & 0xff ؛ Long S3 = B [3] & 0xff ؛ Long S4 = B [4] & 0xff ؛ // أقل بتات طويلة S5 = B [5] & 0xff ؛ Long 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) ؛ لـ (int i = 0 ؛ i <8 ؛ i ++) {b [i] = new long (l) .bytevalue () ؛ l = l >> 8 ؛ } العودة ب ؛ } /*** التحويل من مجموعة البايت إلى مضاعفة. */ getDouble الثابتة العامة (بايت [] ب) {long m ؛ م = ب [0] ؛ M & = 0xFF ؛ M | = ((Long) B [1] << 8) ؛ M & = 0xffffffff ؛ M | = ((Long) B [2] << 16) ؛ M & = 0xffffffffff ؛ M | = ((Long) B [3] << 24) ؛ M & = 0xffffffffffl ؛ M | = ((Long) B [4] << 32) ؛ M & = 0xfffffffffffl ؛ M | = ((Long) B [5] << 40) ؛ M & = 0xfffffffffffl ؛ M | = ((Long) B [6] << 48) ؛ m & = 0xffffffffffffl ؛ M | = ((Long) B [7] << 56) ؛ return double.longbitstodouble (M) ؛ } /*** التحويل من تعويم إلى صفيف البايت. * /public static void floattobyte (float x) {// تحويل float.floattointbits (f) إلى int} /*** التحويل من صفيف البايت إلى تعويم. */ public static float getfloat (byte [] b) {// 4 bytes int accum = 0 ؛ لـ (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 = new byte [2] ؛ B [0] = (byte) ((C & 0xFF00) >> 8) ؛ B [1] = (byte) (C & 0xff) ؛ العودة ب ؛ } /*** التحويل من مجموعة البايت إلى شار. */ public static char bytetochar (byte [] b) {char c = (char) ((b [0] & 0xff) << 8) | (b [1] & 0xff)) ؛ العودة ج. } /*** التحويل من سلسلة إلى صفيف البايت. */ public static byte [] stringtobyte (String str) يلقي UnduportedEncodingException {return str.getBytes ("GBK") ؛ } /*** التحويل من مجموعة البايت إلى سلسلة. */ السلسلة الثابتة العامة bytestoString (byte [] str) {string keyword = null ؛ Try {Keyword = New String (Str ، "GBK") ؛ } catch (UnsupportedEncodingException e) {E.PrintStackTrace () ؛ } إرجاع الكلمة الرئيسية ؛ } / *** التحويل من كائن إلى صفيف بايت* / test public void testObject2ByTearray () يلقي iOexception ، classnotfoundException {// object obj = "" ؛ integer [] obj = {1 ، 3 ، 4} ؛ // // object to 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 (Bytes)) ؛ integer [] intarr = (integer []) testbytiErray2Object (bytes) ؛ System.out.println (Arrays.Aslist (Intarr)) ؛ بايت [] b2 = inttobyte (123) ؛ System.out.println (Arrays.ToString (B2)) ؛ int a = bytetoint (b2) ؛ system.out.println (a) ؛ } /*** التحويل من مجموعة البايت إلى كائن. */ كائن خاص testbytearray2object (byte [] bytes) يلقي ioException ، classnotfoundException {// byte [] bytes = null ؛ كائن OBJ ؛ // bytearray to comply bytearrayinputstream bi = new bytearrayinputStream (bytes) ؛ ObjectInputStream oi = new ObjectInputStream (Bi) ؛ obj = oi.ReadObject () ؛ bi.close () ؛ oi.close () ؛ System.out.println (OBJ) ؛ إرجاع OBJ ؛ }}شكرا لك على القراءة ، آمل أن تساعدك. شكرا لك على دعمك لهذا الموقع!