String naar byte-array, byte-array naar String in Java

Vandaag zullen we leren hoe je een String naar een byte-array kunt converteren in Java. We zullen ook leren hoe je een byte-array naar een String kunt converteren in Java.

String naar byte-array

We kunnen de methode getBytes() van de String-klasse gebruiken om de string te coderen tot een reeks bytes met behulp van de standaard tekenset van het platform. Deze methode is overbelast, en we kunnen ook een Charset als argument doorgeven. Hier is een eenvoudig programma dat laat zien hoe je een String naar een byte-array kunt converteren in Java.

package com.journaldev.util;

import java.util.Arrays;

public class StringToByteArray {

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

De onderstaande afbeelding toont de uitvoer wanneer we het bovenstaande programma uitvoeren. We kunnen ook de byte-array verkrijgen met behulp van de onderstaande code.

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

Als we echter de Charset-naam opgeven, moeten we ofwel de UnsupportedEncodingException exception opvangen of deze doorgeven. Een betere aanpak is om de StandardCharsets-klasse te gebruiken die is geïntroduceerd in Java 1.7, zoals hieronder getoond.

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

Dat zijn alle verschillende manieren om een String naar een byte-array te converteren in Java.

Java byte array naar String

Laten we een eenvoudig programma bekijken dat laat zien hoe je een byte-array naar een String converteert in Java.

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);
	}
}

Onderstaande afbeelding toont de uitvoer geproduceerd door het bovenstaande programma. Heb je opgemerkt dat ik ‘char’ opgeef bij het maken van de byte-array? Het werkt vanwege autoboxing en de ‘char’ ‘P’ wordt omgezet naar 80 in de byte-array. Daarom is de uitvoer hetzelfde voor zowel de conversie van byte-array naar string. De String-klasse heeft ook een constructor waarbij we een byte-array en Charset als argument kunnen opgeven. Dus onderstaande code kan ook worden gebruikt om een byte-array naar een String te converteren in Java.

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

De String-klasse heeft ook een methode om een subset van de byte-array naar een String te converteren.

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

De bovenstaande code is perfect en de waarde van ‘str’ zal ‘PAN’ zijn. Dat is alles over het converteren van een byte-array naar een String in Java.

Je kunt meer voorbeelden van arrays bekijken op onze GitHub Repository.

Referentie: getBytes API Doc

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