Heim  >  Artikel  >  Java  >  Konvertieren Sie einen String mit der Methode getBytes(encoding) in Java in ein Byte-Array

Konvertieren Sie einen String mit der Methode getBytes(encoding) in Java in ein Byte-Array

WBOY
WBOYnach vorne
2023-08-27 13:13:06692Durchsuche

Konvertieren Sie einen String mit der Methode getBytes(encoding) in Java in ein Byte-Array

In der Java-Programmierwelt können Sie einen String mit der Funktion „getBytes()“ in ein Byte-Array umwandeln. Das Endergebnis dieses Prozesses besteht darin, eine Byte-Array-Darstellung der Startzeichenfolge mit der in der Methodenspezifikation angegebenen Codierung zu erhalten. Es gibt zwei verschiedene Möglichkeiten, einen String in Java mithilfe der Funktion „getBytes()“ in ein Byte-Array umzuwandeln. Die erste Strategie besteht darin, die Standardzeichensatzkodierung der JVM zu verwenden, bei der es sich um eine Kodierungstechnik handelt. Der zweite Ansatz hängt von der spezifischen bereitgestellten Zeichensatzkodierung ab und bestimmt anhand der Anforderungen der betreffenden Anwendung, welche Kodierung verwendet werden soll.

In diesem Artikel werfen wir einen genaueren Blick auf beide Methoden und stellen außerdem Code-Implementierungs- und Ausgabebeispiele für jede Methode bereit.

Anwendungsmethode

In diesem Artikel werden drei verschiedene Möglichkeiten zum Konvertieren von Zeichenfolgen in Byte-Arrays in Java erläutert.

  • Methode 1 – Die erste Methode beinhaltet die Verwendung der Standard-Zeichensatzkodierung. Der Aufruf der Methode „getBytes()“ für ein Zeichenfolgenobjekt ohne angegebene Kodierung führt dazu, dass die Standardzeichensatzkodierung verwendet wird. Diese Methode eignet sich, wenn für die Konvertierung keine spezielle Kodierung erforderlich ist.

  • Methode 2 – Die zweite Methode beinhaltet die Verwendung einer bestimmten Zeichensatzkodierung für die Methode „getBytes()“. Diese Methode ist nützlich, wenn die Konvertierung eine andere Kodierung als die Standardkodierung erfordert. Die Wahl der Kodierung hängt von den spezifischen Anforderungen der Anwendung ab.

  • Methode 3 – Die dritte Methode verwendet die Klasse „ByteBuffer“ in Java. Diese Klasse stellt Methoden zum Konvertieren einer Zeichenfolge in ein Byte-Array und umgekehrt bereit. Die Klasse „Charset“ wird verwendet, um die für die Konvertierung verwendete Codierung anzugeben. Dieser Ansatz kann hilfreich sein, wenn es um komplexe Zeichenkodierungen geht oder wenn anpassbarere Konvertierungen erforderlich sind.

Die Methode

getBytes(encoding) verwendet eine Zeichenfolgenparameterkodierung, die das zu verwendende Zeichenkodierungsschema angibt. Diese Methode gibt ein Byte-Array zurück, das die Zeichenfolge in der angegebenen Kodierung darstellt. Die Syntax dieser Methode lautet wie folgt -

Grammatik

byte[] byteArray = str.getBytes(encoding);

Wobei str die zu konvertierende Zeichenfolge und „coding“ der Name des Codierungsschemas ist.

Algorithmus

Um einen String in ein Byte-Array in Java zu konvertieren, können Sie diese Schritte ausführen -

  • Schritt 1 – Holen Sie sich die Zeichenfolge, die Sie in ein Byte-Array konvertieren möchten.

  • Schritt 2 – Entscheiden Sie sich für die Kodierung, die für die Konvertierung verwendet werden soll. Wenn keine Kodierung angegeben ist, wird die Standardzeichensatzkodierung verwendet.

  • Schritt 3 – Rufen Sie die Methode „getBytes()“ für das String-Objekt auf und übergeben Sie die Codierung als Parameter. Dies gibt die Byte-Array-Darstellung der Zeichenfolge zurück.

  • Schritt 4 – Speichern Sie das Byte-Array in einer Variablen für die zukünftige Verwendung.

  • Schritt 5 – Wenn die JVM die angegebene Codierung nicht unterstützt, löst die Methode „getBytes()“ eine „UnsupportedEncodingException“ aus. Sie können einen Try-Catch-Block verwenden, um diese Ausnahme zu behandeln.

  • Schritt 6 – Drucken Sie das Byte-Array in einem lesbaren Format mit der Methode „Arrays.toString()“.

  • Schritt 7 – Konvertieren Sie das Byte-Array bei Bedarf mit der Methode „new String(byteArray,encoding)“ zurück in einen String.

  • Schritt 8 – Das konvertierte Byte-Array ist nun bereit für die weitere Übertragung oder Verarbeitung.

Beachten Sie, dass abhängig von den spezifischen Anforderungen Ihrer Anwendung möglicherweise zusätzliche Schritte oder Änderungen erforderlich sind.

Methode 1

Diese Methode zum Konvertieren von Zeichenfolgen in Byte-Arrays in Java verwendet die Standardzeichensatzkodierung, die standardmäßig von der JVM verwendet wird. Dieser Ansatz ist einfach und unkompliziert, eignet sich jedoch möglicherweise nicht, wenn die Anwendung eine bestimmte Codierung erfordert.

Beispiel

import java.util.Arrays;

public class StringToByteArray {
   public static void main(String[] args) {
      String str = "Hello, world!";
      byte[] byteArray = str.getBytes();
      System.out.println("Byte array using default charset encoding: " + Arrays.toString(byteArray));
   }
}

Ausgabe

Byte array using default charset encoding: [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33]

Methode 2

Diese Methode zum Konvertieren von Zeichenfolgen in Byte-Arrays in Java ermöglicht es uns, eine bestimmte zu verwendende Zeichensatzkodierung anzugeben. Dadurch haben wir eine bessere Kontrolle über die für die Konvertierung verwendete Kodierung und stellen sicher, dass das Byte-Array mit dem Zielsystem kompatibel ist.

Nachfolgend finden Sie den gleichen Programmcode.

Beispiel

import java.util.Arrays;
import java.io.UnsupportedEncodingException;

public class StringToByteArray {
   public static void main(String[] args) {
      String str = "Hello, world!";
      String encoding = "UTF-16";
      byte[] byteArray = null;
      try {
          byteArray = str.getBytes(encoding);
      } catch (UnsupportedEncodingException e) {
         e.printStackTrace();
      }
      System.out.println("Byte array using " + encoding + " encoding: " + Arrays.toString(byteArray));
   }
}

Ausgabe

Byte array using UTF-16 encoding: [-2, -1, 0, 72, 0, 101, 0, 108, 0, 108, 0, 111, 0, 44, 0, 32, 0, 119, 0, 111, 0, 114, 0, 108, 0, 100, 0, 33, 0]

In dieser Ausgabe können wir sehen, dass das Byte-Array im Vergleich zur Standardcodierungsmethode am Anfang zwei zusätzliche Bytes (-2 und -1) enthält. Diese beiden Bytes stellen die Bytereihenfolge der UTF-16-Codierung dar.

Methode 3

Diese Methode zum Konvertieren von Zeichenfolgen in Byte-Arrays in Java verwendet die Klasse ByteBuffer, um Methoden zum Konvertieren von Zeichenfolgen in Byte-Arrays und umgekehrt bereitzustellen. Diese Methode ist sehr nützlich, wenn wir andere Operationen am Byte-Array mithilfe der von der ByteBuffer-Klasse bereitgestellten Methoden ausführen müssen.

Beispiel

import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.util.Arrays;

public class StringToByteArray {
   public static void main(String[] args) {
      String str = "Hello, world!";
      Charset charset = Charset.forName("UTF-8");
      ByteBuffer byteBuffer = charset.encode(str);
      byte[] byteArray = byteBuffer.array();
      System.out.println("Byte array using ByteBuffer class: " + Arrays.toString(byteArray));
   }
}

Ausgabe

Byte array using ByteBuffer class: [72, 101, 108, 108, 111, 44, 32, 119, 111, 114, 108, 100, 33, 0]

Fazit

Zusammenfassend kann die Konvertierung eines Strings in ein Byte-Array in Java durch die Methode „getBytes()“ erreicht werden. Es gibt zwei Methoden: Eine verwendet die Standardzeichensatzkodierung und die andere verwendet eine bestimmte Zeichensatzkodierung. Die Wahl der Methode hängt von den Anwendungsanforderungen ab. Für diese Konvertierung kann auch die Klasse „ByteBuffer“ verwendet werden, wobei die Klasse „Charset“ zur Festlegung der Kodierung verwendet wird. Wir stellen detaillierte Codebeispiele und Ausgaben für jede Methode bereit.

Das obige ist der detaillierte Inhalt vonKonvertieren Sie einen String mit der Methode getBytes(encoding) in Java in ein Byte-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen