La programmation Java implique la conversion de chaînes en tableaux d'octets, une technique pratique utilisée à de nombreuses fins, notamment la communication réseau ou le cryptage de données. Pour y parvenir, la classe String fournit une série de méthodes pour de telles conversions, dont la méthode getBytes(). Il convient de noter que le choix du codage approprié est crucial, car chaque codage utilise des règles différentes lors du mappage des caractères aux valeurs d'octets.
Dans cet article, nous allons approfondir deux techniques permettant de convertir une chaîne en un tableau d'octets à l'aide de la méthode getBytes() de Java. De plus, nous fournirons une explication détaillée des algorithmes utilisés par chaque méthode.
Méthode 1 - Dans cette méthode, nous allons créer une chaîne puis la convertir en un tableau d'octets à l'aide de la méthode getBytes(). Nous utiliserons le codage UTF-8 dans cet exemple.
Méthode 2 - Dans cette méthode, nous allons créer un tableau d'octets en spécifiant manuellement les valeurs d'octets. Nous allons ensuite créer une String à partir du tableau d'octets en utilisant le constructeur String.
La méthode getBytes() est membre de la classe String en Java. Il prend un argument, qui est le jeu de caractères utilisé pour coder la chaîne dans un tableau d'octets. La syntaxe de la méthode getBytes() est la suivante -
public byte[] getBytes(Charset charset)
La méthode de conversion d'une chaîne en tableau d'octets à l'aide de la fonction getBytes() en Java peut être simplifiée en quelques étapes -
Étape 1 - Instanciez un objet Charset correspondant à l'encodage souhaité à l'aide de la méthode forName() dans la classe Charset. Cette étape nécessite de fournir le nom de codage en tant que paramètre de chaîne.
Étape 2 - Appelez la méthode getBytes() de la classe String en fournissant l'objet Charset précédemment créé en paramètre. Cet appel génère un tableau d'octets représentant les caractères de la chaîne en utilisant le codage spécifié.
Étape 3 - Manipulez le tableau d'octets résultant selon les besoins. Java propose diverses techniques pour gérer les tableaux d'octets via son langage de programmation.
L'utilisation de la fonction getBytes() est un moyen efficace de convertir une chaîne en un tableau d'octets Java. Il vous permet de spécifier l'encodage à utiliser lors de la conversion. Ceci est crucial car différents codages ont des directives différentes pour mapper les caractères aux valeurs d'octets. Si vous utilisez un mauvais codage, une corruption des données peut se produire. En suivant l'algorithme ci-dessus, ils peuvent garantir que leur chaîne est convertie avec succès et en toute sécurité en un tableau d'octets.
Dans cette méthode, nous créons d'abord une chaîne que nous souhaitons convertir en tableau d'octets. Ensuite, nous convertissons la String en un tableau d'octets en utilisant la méthode getBytes() de la classe String. Nous définissons l'encodage à appliquer à la conversion, en l'occurrence UTF-8. Pour garantir que le tableau d'octets est généré avec précision, nous l'imprimons.
Vous trouverez ci-dessous le même code de programme.
import java.nio.charset.Charset; public class StringToByteArrayExample1 { public static void main(String[] args) { // Create a String String str = "Hello, world!"; // Convert the String to a byte array using the UTF-8 encoding Charset utf8 = Charset.forName("UTF-8"); byte[] byteArray = str.getBytes(utf8); // Print the byte array for (byte b : byteArray) { System.out.print(b + " "); } } }
72 101 108 108 111 44 32 119 111 114 108 100 33
Cette méthode consiste à saisir manuellement des valeurs d'octets pour construire un tableau d'octets. Utilisez ensuite le constructeur String pour convertir le tableau d’octets en chaîne.
Vous trouverez ci-dessous le même code de programme.
import java.nio.charset.Charset; public class StringToByteArrayExample2 { public static void main(String[] args) { // Create a byte array byte[] byteArray = {72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33}; // Convert the byte array to a String using the UTF-8 encoding Charset utf8 = Charset.forName("UTF-8"); String str = new String(byteArray, utf8); // Print the String System.out.println(str); } }
Hello, world!
Cet article présente la fonction containKey(), qui est utilisée pour déterminer si une clé est contenue dans la carte de hachage. Cette méthode accepte une clé en entrée et renvoie true si la clé est trouvée dans le hashmap, sinon elle renvoie false.
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!