Dans la programmation réseau, longs et int sont généralement traités de manière native plutôt que de se convertir en chaîne pour la sauvegarde ou l'encodage de la bande passante.
classe publique ByteOrderUtils {public static byte [] int2byte (int res) {byte [] cibles = new byte [4]; cibles [3] = (byte) (res & 0xff); // cibles les plus basses [2] = (octet) ((res >> 8) & 0xff); // cibles de bit bas secondaires [1] = (octet) ((res >> 16) & 0xff); // cibles de bits secondaires secondaires [0] = (octet) (res >>> 24); // high lest bit bit, a exigé de droite. cibles de retour; } public static int bytearrayToint (byte [] b) {byte [] a = new byte [4]; int i = a.length - 1, j = b.length - 1; pour (; i> = 0; i -, j--) {// Démarrer les données de copie de la queue de b (c'est-à-dire le bit faible de la valeur int) if (j> = 0) a [i] = b [j]; sinon A [i] = 0; // Si B.Length est inférieur à 4, ajoutez 0 au bit élevé} int v0 = (a [0] & 0xff) << 24; // & 0xff convertit la valeur d'octet en int en int pour éviter les bits de signe du bit élevé après Java Automatic Promotion, int v1 = (a [1] & 0xff) << 16; int v2 = (a [2] & 0xff) << 8; int v3 = (a [3] & 0xff); retourner v0 + v1 + v2 + v3; } byte statique public [] long2byte (long res) {byte [] buffer = new byte [8]; pour (int i = 0; i <8; i ++) {int offset = 64 - (i + 1) * 8; tampon [i] = (byte) ((res >> offset) & 0xff); } Retour tampon;} public static long bytearraytolong (byte [] b) {VALEURS LONGES = 0; pour (int i = 0; i <8; i ++) {valeurs << = 8; valeurs | = (b [i] & 0xff); } valeurs de retour; }}Ce qui précède est le contenu complet de la conversion Java INT en octet et la longue conversion en octet qui vous est apporté par l'éditeur. J'espère que tout le monde soutiendra Wulin.com plus ~