Maison  >  Article  >  Java  >  Comment convertir entre des tableaux d'octets et des entiers en Java : un guide étape par étape

Comment convertir entre des tableaux d'octets et des entiers en Java : un guide étape par étape

DDD
DDDoriginal
2024-10-27 08:24:03261parcourir

How to Convert Between Byte Arrays and Integers in Java: A Step-by-Step Guide

Conversion entre des tableaux d'octets et des entiers en Java

Le stockage de données numériques sous forme de tableaux d'octets offre une flexibilité et une utilisation efficace de la mémoire, en particulier lorsqu'il s'agit de nombres de taille limitée. En Java, la conversion entre des tableaux d'octets et des entiers peut être réalisée à l'aide de techniques simples avec une compréhension claire des opérations sous-jacentes.

Pour convertir un entier (court) en un tableau de 2 octets, on peut utiliser le ByteBuffer Méthode .wrap(). Cette méthode prend un tableau d'octets en entrée et l'enveloppe dans un tampon. Le tampon peut ensuite être lu et écrit à l'aide des différentes méthodes disponibles dans la classe ByteBuffer.

Le code suivant illustre le processus de conversion :

<code class="java">byte[] arr = { 0x00, 0x01 };
ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default
short num = wrapped.getShort(); // 1</code>

Dans cet exemple, un tableau de 2 octets {0x0, 0x1} est encapsulé dans un ByteBuffer nommé enveloppé. Le tampon encapsulé est ensuite utilisé pour récupérer la valeur courte à l'aide de la méthode getShort(), ce qui donne la valeur 1.

La reconversion de l'entier court en un tableau d'octets peut être effectuée à l'aide de la méthode ByteBuffer.allocate() . Cette méthode crée un nouveau ByteBuffer avec une capacité spécifiée. La valeur entière est écrite dans le nouveau tampon à l'aide de la méthode putShort().

<code class="java">ByteBuffer dbuf = ByteBuffer.allocate(2);
dbuf.putShort(num);
byte[] bytes = dbuf.array(); // { 0, 1 }</code>

Dans cet extrait de code, un nouveau ByteBuffer nommé dbuf est alloué avec une capacité de 2 octets. La valeur courte num est écrite dans dbuf à l'aide de la méthode putShort(). Enfin, la méthode array() est utilisée pour récupérer le tableau d'octets sous-jacent, qui est le même que le tableau d'entrée d'origine, {0x0, 0x1}.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn