English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java-Grundlagen-Tutorial

Java Flow Control

Java Array

Java Object-Oriented (I)

Java Object-Oriented (II)

Java Object-Oriented (III)

Java-Exception-Handling

Java List (List)

Java Queue (Queue)

Java Map Collection

Java Set Collection

Java Eingabe-Ausgabe(I/O)

Java Reader/Writer

Andere Themen von Java

Verwendung und Beispiel des Java String getBytes()

Java String (String) Methods

Der Java String getBytes() Methode encodiert den String in eine Byte-Sequenz und speichert sie im Byte-Array.

Syntax der Methode getBytes():

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

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

1. getBytes() ohne jegliche Parameter

Wenn keine Parameter übergeben werden, encodiert getBytes() den String mit der Standard-Zeichenkodierung der Plattform.

Beispiel: getBytes() ohne jegliche Parameter

import java.util.Arrays;
class Main {}}
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    //Konvertieren Sie den String in einen Byte-Array
    //Verwenden Sie die Standard-Zeichenkodierung der Plattform
    byteArray = str.getBytes();
    System.out.println(Arrays.toString(byteArray));
  }
}

Output Result

[74, 97, 118, 97]

Note:Im obigen Beispiel haben wir die Arrays-Klasse verwendet, um den Byte-Array in einer lesbaren Form auszugeben. Dies hat nichts mit getBytes() zu tun.

2. getBytes() mit einem CharSet-Parameter

Dies sind andere Methoden, die in CharSetJava verfügbar sind:

  • UTF-8 - Achtbit-UCS-Transformationsschema

  • UTF-16 - Sechzehnbit-UCS-Transformationsschema

  • UTF-16BE - Sechzehnbit-UCS-Transformationsschema, großes Byte-Ende

  • UTF-16LE - Sechzehnbit-UCS-Transformationsschema, kleines Byte-Ende

  • US-ASCII - Siebenbit-ASCII

  • ISO-8859-1 - ISO lateinische Schrift1Zeichen

Beispiel: getBytes() mit einem CharSet-Parameter

import java.util.Arrays;
import java.nio.charset.Charset;
class Main {}}
  public static void main(String[] args) {
    String str = "Java";
    byte[] byteArray;
    //Verwenden Sie UTF-8Kodierung durchführen
    byteArray = str.getBytes(Charset.forName("UTF"-8"));
    System.out.println(Arrays.toString(byteArray));
    //Verwenden Sie UTF-16Kodierung durchführen
    byteArray = str.getBytes(Charset.forName("UTF"-16"));
    System.out.println(Arrays.toString(byteArray));
  }
}

Output Result

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]

Note:Im obigen Programm haben wir java.nio.charset.Charset importiert, um CharSet zu verwenden. Und wir haben die Arrays-Klasse importiert, um den Byte-Array in einer lesbaren Form auszugeben.

3. getBytes() mit einem String-Parameter

Man kann auch eine Zeichenfolge verwenden, um den Kodierungstyp von getBytes() zu spezifizieren. Wenn getBytes() auf diese Weise verwendet wird, muss der Code inim try ... catch-Block.

Beispiel: getBytes() mit einem 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));
            //Incorrect Encoding
            //Throw Exception
      byteArray = str.getBytes("UTF-34
      System.out.println(Arrays.toString(byteArray));
    }) catch (Exception e) {
      System.out.println(e + "encoding is wrong");
    }
  }
}

Output Result

[74, 97, 118, 97]
[-2, -1, 0, 74, 0, 97, 0, 118, 0, 97]
java.io.UnsupportedEncodingException: UTF-34 encoding is wrong

Note:We have imported java.util.Arrays to print the byte array in a readable format. It has nothing to do with getBytes().

Java String (String) Methods