Comment convertir une chaîne Java en octet

Asad Riaz 12 octobre 2023
  1. Méthode getBytes() pour convertir une chaîne Java en octet
  2. La méthode getBytes() avec un encodage spécifique pour convertir les chaînes en Java
Comment convertir une chaîne Java en octet

Dans ce tutoriel, nous apprendrons comment convertir une chaîne Java en octet. Cette conversion peut être effectuée en utilisant différentes classes selon les besoins. Dans certains cas, l’utilisateur doit également effectuer l’encodage tout en convertissant en octets ; selon les besoins.

Méthode getBytes() pour convertir une chaîne Java en octet

La première méthode avec laquelle nous commençons est la méthode getBytes() de Java. Cette méthode va prendre la chaîne de caractères et la convertir en octets à l’intérieur d’un tableau.

Considérons le code suivant:

import java.text.*;
import java.util.Arrays;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    String string = "Simple Testing";
    byte[] bytes = string.getBytes();
    System.out.println("String: " + string);
    System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Production:

String: Simple Testing
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103]

La méthode getBytes() avec un encodage spécifique pour convertir les chaînes en Java

Afin de convertir un tableau de chaînes en octets dans le codage UTF-8 pour les plates-formes compatibles, nous pourrions utiliser la méthode getBytes(StandardCharsets.UTF-8). Elle fonctionne de manière similaire à la méthode par défaut getBytes() et retourne la sortie encodée dans le format d’encodage donné.

Considérons le code suivant:

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.text.*;
import java.util.Arrays;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    String string = "Simple Testing with UTF-8 Encoding";
    byte[] bytes = string.getBytes(StandardCharsets.UTF_8);
    System.out.println("String: " + string);
    System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Production:

String: Simple Testing with UTF-8 Encoding
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 85, 84, 70, 45, 56, 32, 69, 110, 99, 111, 100, 105, 110, 103]

Un autre format d’encodage qui peut être utilisé avec la méthode getBytes() est le Charset par défaut pour les plateformes compatibles concernées.

Considérez le code suivant:

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.text.*;
import java.util.Arrays;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    String string = "Simple Testing with default Charset Encoding";
    byte[] bytes = string.getBytes(Charset.defaultCharset());
    System.out.println("String: " + string);
    System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Production:

String: Simple Testing with default Charset Encoding
Bytes: [83, 105, 109, 112, 108, 101, 32, 84, 101, 115, 116, 105, 110, 103, 32, 119, 105, 116, 104, 32, 100, 101, 102, 97, 117, 108, 116, 32, 67, 104, 97, 114, 115, 101, 116, 32, 69, 110, 99, 111, 100, 105, 110, 103]

Un autre format de codage qui peut être utilisé avec la méthode getBytes() est UTF-16 pour les dernières plates-formes compatibles.

Considérez le code suivant:

import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.text.*;
import java.util.Arrays;
import java.util.Date;

public class SimpleTesting {
  public static void main(String[] args) {
    String string = "Simple Testing with UTF-16 Encoding";
    byte[] bytes = string.getBytes(StandardCharsets.UTF_16BE);
    System.out.println("String: " + string);
    System.out.println("Bytes: " + Arrays.toString(bytes));
  }
}

Production:

String: Simple Testing with UTF-16 Encoding
Bytes: [0, 83, 0, 105, 0, 109, 0, 112, 0, 108, 0, 101, 0, 32, 0, 84, 0, 101, 0, 115, 0, 116, 0, 105, 0, 110, 0, 103, 0, 32, 0, 119, 0, 105, 0, 116, 0, 104, 0, 32, 0, 85, 0, 84, 0, 70, 0, 45, 0, 49, 0, 54, 0, 32, 0, 69, 0, 110, 0, 99, 0, 111, 0, 100, 0, 105, 0, 110, 0, 103]

Article connexe - Java String

Article connexe - Java Byte