Java String getBytes ()

Die Java String getBytes () -Methode codiert den String in eine Folge von Bytes und speichert ihn in einem Byte-Array.

Die Syntax der String- getBytes()Methode lautet:

 string.getBytes() string.getBytes(Charset charset) string.getBytes(String charsetName)

Hier ist string ein Objekt der StringKlasse.

Die getBytes()Methode gibt ein Byte-Array zurück.

1. getBytes () ohne Parameter

Wenn Sie keine Parameter übergeben, getBytes()codieren Sie die Zeichenfolge mit dem Standardzeichensatz der Plattform.

Beispiel: getBytes () ohne Parameter

 import java.util.Arrays; class Main ( public static void main(String() args) ( String str = "Java"; byte() byteArray; // convert the string to a byte array // using platform's default charset byteArray = str.getBytes(); System.out.println(Arrays.toString(byteArray)); ) )

Ausgabe

 (74, 97, 118, 97)

Hinweis: Wir haben die ArraysKlasse im obigen Beispiel verwendet, um das Byte-Array in lesbarer Form zu drucken. Es hat nichts damit zu tun getBytes().

2. getBytes () Mit CharSet-Parameter

Hier sind verschiedene CharSetin Java verfügbar:

  • UTF-8 - Acht-Bit-UCS-Transformationsformat
  • UTF-16 - 16-Bit-UCS-Transformationsformat
  • UTF-16BE - 16-Bit-UCS-Transformationsformat, Big-Endian-Bytereihenfolge
  • UTF-16LE - 16-Bit-UCS-Transformationsformat, Little-Endian-Bytereihenfolge
  • US-ASCII - Sieben-Bit-ASCII
  • ISO-8859-1 - Lateinisches ISO-Alphabet Nr. 1

Beispiel: getBytes () Mit CharSet-Parameter

 import java.util.Arrays; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String str = "Java"; byte() byteArray; // using UTF-8 for encoding byteArray = str.getBytes(Charset.forName("UTF-8")); System.out.println(Arrays.toString(byteArray)); // using UTF-16 for encoding byteArray = str.getBytes(Charset.forName("UTF-16")); System.out.println(Arrays.toString(byteArray)); ) )

Ausgabe

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97)

Hinweis: Im obigen Programm haben wir java.nio.charset.Charsetzur Verwendung importiert CharSet. Und wir haben die ArraysKlasse importiert , um das Byte-Array in lesbarer Form zu drucken.

3. getBytes () mit String-Parameter

Sie können auch den Codierungstyp für die getBytes()Verwendung von Zeichenfolgen angeben . Wenn Sie getBytes()auf diese Weise verwenden, müssen Sie den Code in try… catch block einschließen.

Beispiel: getBytes () mit String-Parameter

 import java.util.Arrays; class Main ( public static void main(String() args) ( String str = "Java"; byte() byteArray; try ( byteArray = str.getBytes("UTF-8"); System.out.println(Arrays.toString(byteArray)); byteArray = str.getBytes("UTF-16"); System.out.println(Arrays.toString(byteArray)); // wrong encoding // throws an exception byteArray = str.getBytes("UTF-34"); System.out.println(Arrays.toString(byteArray)); ) catch (Exception e) ( System.out.println(e + " encoding is wrong"); ) ) )

Ausgabe

 (74, 97, 118, 97) (-2, -1, 0, 74, 0, 97, 0, 118, 0, 97) java.io.UnsupportedEncodingException: Die UTF-34-Codierung ist falsch

Hinweis: Wir haben java.util.Arrays importiert, um das Byte-Array in lesbarer Form zu drucken. Es hat nichts damit zu tun getBytes().

Interessante Beiträge...