Conversion entre des tableaux d'octets et des entiers en Java
Lorsque vous traitez des données binaires ou transmettez des valeurs entre systèmes, la conversion entre des tableaux d'octets et des entiers devient essentiel. Cet article examine le processus simple permettant de réaliser cette conversion en Java.
La classe ByteBuffer, située dans le package java.nio, fournit un moyen efficace de gérer la manipulation des octets. Il simplifie la conversion entre les tableaux d'octets et différents types numériques.
Tableau d'octets en entier
Pour convertir un tableau d'octets en entier, utilisez getShort méthode de ByteBuffer :
<code class="java">byte[] arr = { 0x00, 0x01 }; ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default short num = wrapped.getShort(); </code>
Le ByteBuffer encapsulé est créé à partir du tableau d'octets d'entrée. Par défaut, Java suppose un ordre big-endian, où l'octet le plus à gauche représente le bit le plus significatif. Alternativement, pour le tri en petit-boutiste, utilisez getIntLittleEndian.
Entier en tableau d'octets
Pour convertir un entier en tableau d'octets, exploitez l'option putShort méthode de ByteBuffer :
<code class="java">ByteBuffer dbuf = ByteBuffer.allocate(2); dbuf.putShort(num); byte[] bytes = dbuf.array(); </code>
Exemple
Considérez un entier 1. Une fois converti en tableau d'octets, il devient {0x00, 0x01}. En effet, 1 est un entier non signé de 16 bits sous forme binaire et chaque octet représente 8 bits. L'octet le plus à gauche stocke les bits les plus significatifs (0x00) et l'octet le plus à droite contient les bits les moins significatifs (0x01).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!