String in Byte-Array umwandeln, Byte-Array in String in Java

Heute werden wir lernen, wie man String in Byte-Array in Java konvertiert. Wir werden auch lernen, wie man Byte-Array in String in Java konvertiert.

String in Byte-Array konvertieren

Wir können die Methode getBytes() der String-Klasse verwenden, um den String mithilfe des Standardzeichensatzes der Plattform in eine Sequenz von Bytes zu codieren. Diese Methode ist überladen, und wir können auch Charset als Argument übergeben. Hier ist ein einfaches Programm, das zeigt, wie man String in Byte-Array in Java konvertiert.

package com.journaldev.util;

import java.util.Arrays;

public class StringToByteArray {

	public static void main(String[] args) {
		String str = "PANKAJ";
		byte[] byteArr = str.getBytes();
		// die byte[] Elemente ausgeben
		System.out.println("String to byte array: " + Arrays.toString(byteArr));
	}
}

Das folgende Bild zeigt die Ausgabe, wenn wir das obige Programm ausführen. Wir können auch das Byte-Array mithilfe des folgenden Codes erhalten.

byte[] byteArr = str.getBytes("UTF-8");

Wenn wir jedoch den Zeichensatznamen angeben, müssen wir entweder die UnsupportedEncodingException Ausnahme abfangen oder sie werfen. Der bessere Ansatz ist die Verwendung der in Java 1.7 eingeführten Klasse StandardCharsets, wie unten gezeigt.

byte[] byteArr = str.getBytes(StandardCharsets.UTF_8);

Das sind alle verschiedenen Möglichkeiten, String in Byte-Array in Java zu konvertieren.

Java-Byte-Array zu String

Schauen wir uns ein einfaches Programm an, das zeigt, wie man in Java ein Byte-Array in einen String umwandelt.

package com.journaldev.util;

public class ByteArrayToString {

	public static void main(String[] args) {
		byte[] byteArray = { 'P', 'A', 'N', 'K', 'A', 'J' };
		byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 };

		String str = new String(byteArray);
		String str1 = new String(byteArray1);

		System.out.println(str);
		System.out.println(str1);
	}
}

Das untenstehende Bild zeigt die Ausgabe des obigen Programms. Haben Sie bemerkt, dass ich beim Erstellen des Byte-Arrays den Zeichenwert angebe? Es funktioniert aufgrund von Autoboxing, und das Zeichen ‚P‘ wird in das Byte-Array in 80 umgewandelt. Daher ist die Ausgabe für die Umwandlung des Byte-Arrays in einen String identisch. Die String-Klasse hat auch einen Konstruktor, bei dem wir ein Byte-Array und Charset als Argument angeben können. Daher kann der unten stehende Code ebenfalls verwendet werden, um in Java ein Byte-Array in einen String umzuwandeln.

String str = new String(byteArray, StandardCharsets.UTF_8);

Die String-Klasse hat auch eine Methode, um einen Teil des Byte-Arrays in einen String umzuwandeln.

byte[] byteArray1 = { 80, 65, 78, 75, 65, 74 };
String str = new String(byteArray1, 0, 3, StandardCharsets.UTF_8);

Der obige Code ist völlig in Ordnung, und der Wert von ’str‘ wird ‚PAN‘ sein. Das ist alles zur Umwandlung eines Byte-Arrays in einen String in Java.

Sie können weitere Beispiele für Arrays in unserem GitHub-Repository überprüfen.

Referenz: getBytes API-Dokumentation

Source:
https://www.digitalocean.com/community/tutorials/string-byte-array-java