String in ByteArray und ByteArray in String Umwandlung in Java
Heute werden wir lernen, wie man in Java einen String zu ByteArray umwandelt. Wir werden auch lernen, wie man ein ByteArray zu String umwandelt.
String in ByteArray umwandeln
Wir können die getBytes()-Methode der String-Klasse verwenden, um den String in eine Folge von Bytes kodieren zu können, die die Standardzeichensatzplattform verwendet. Diese Methode ist überladen, und wir können auch Charset als Argument übergeben. Hier ist ein einfaches Programm, das zeigt, wie man in Java einen String in ein ByteArray umwandelt.
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 in ByteArray: " + Arrays.toString(byteArr));
}
}
Wir können das ByteArray auch mit dem folgenden Code erhalten.
byte[] byteArr = str.getBytes("UTF-8");
Wenn wir jedoch einen Charset-Namen angeben, müssen wir entweder die UnsupportedEncodingException-Ausnahme abfangen oder werfen. Ein besserer Ansatz ist die Verwendung der Klasse StandardCharsets, die in Java 1.7 eingeführt wurde, wie unten gezeigt.
byte[] byteArr = str.getBytes(StandardCharsets.UTF_8);
Das sind alle verschiedenen Möglichkeiten, einen String in ein ByteArray in Java umzuwandeln.
Java ByteArray in String umwandeln
Lassen Sie uns ein einfaches Programm anschauen, das zeigt, wie man ein ByteArray in einen String in Java 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);
}
}
Haben Sie bemerkt, dass ich Charaktere beim Erstellen des ByteArrays angebe? Es funktioniert wegen der automatischen Boxing und Charakter ‘P’ wird im ByteArray in 80 umgewandelt. Deshalb ist die Ausgabe für beide ByteArray zu String Konvertierungen gleich. String hat auch einen Konstruktor, bei dem wir ByteArray und Charset als Argumente angeben können. So kann der folgende Code auch verwendet werden, um ein ByteArray in einen String in Java umzuwandeln.
String str = new String(byteArray, StandardCharsets.UTF_8);
Die String-Klasse hat auch eine Methode, um einen Teil des ByteArrays 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 vollkommen in Ordnung und der Wert von ‘str’ wird ‘PAN’ sein. Das ist alles über die Umwandlung in Java.