Converti stringa Java in byte

Asad Riaz 12 ottobre 2023
  1. Metodo getBytes() per convertire la stringa Java in byte
  2. Metodo getBytes() con codifica specifica per convertire stringhe in Java
Converti stringa Java in byte

In questo tutorial impareremo come convertire la stringa Java in byte. Questa conversione può essere eseguita utilizzando classi diverse a seconda del requisito. In alcuni casi, l’utente deve eseguire anche la codifica durante la conversione in byte; secondo il requisito.

Metodo getBytes() per convertire la stringa Java in byte

Il primo metodo con cui iniziamo è il metodo getBytes() di Java. Questo metodo prenderà la stringa e la convertirà in byte all’interno di un array.

Codici di esempio:

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));
  }
}

Produzione:

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

Metodo getBytes() con codifica specifica per convertire stringhe in Java

Per convertire un array di stringhe in byte nella codifica UTF-8 per piattaforme compatibili, potremmo usare il metodo getBytes(StandardCharsets.UTF-8). Funziona in modo simile al metodo predefinito getBytes() e restituisce l’output codificato nel formato di codifica dato.

Codici di esempio:

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));
  }
}

Produzione:

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 altro formato di codifica che può essere utilizzato con il metodo getBytes() è defaultCharset per le piattaforme compatibili pertinenti.

Codici di esempio:

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));
  }
}

Produzione:

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 altro formato di codifica che può essere utilizzato con il metodo getBytes() è UTF-16 per le ultime piattaforme compatibili.

Codici di esempio:

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));
  }
}

Produzione:

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]

Articolo correlato - Java String

Articolo correlato - Java Byte