웹사이트 검색

Java에서 문자열을 바이트 배열로, 바이트 배열을 문자열로


오늘은 자바에서 문자열을 바이트 배열로 변환하는 방법에 대해 알아보겠습니다. Java에서 바이트 배열을 문자열로 변환하는 방법도 배웁니다.

문자열을 바이트 배열로

String 클래스 getBytes() 메서드를 사용하여 플랫폼의 기본 문자 집합을 사용하여 문자열을 일련의 바이트로 인코딩할 수 있습니다. 이 메서드는 오버로드되며 Charset을 인수로 전달할 수도 있습니다. 다음은 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();
		// print the byte[] elements
		System.out.println("String to byte array: " + Arrays.toString(byteArr));
	}
}
byte[] byteArr = str.getBytes("UTF-8");

그러나 Charset 이름을 제공하면 UnsupportedEncodingException 예외를 포착하거나 던져야 합니다. 더 나은 방법은 아래와 같이 Java 1.7에 도입된 StandardCharsets 클래스를 사용하는 것입니다.

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

이것이 자바에서 문자열을 바이트 배열로 변환하는 다양한 방법입니다.

Java 바이트 배열을 문자열로

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);
	}
}
String str = new String(byteArray, StandardCharsets.UTF_8);

String 클래스에는 바이트 배열의 하위 집합을 문자열로 변환하는 메서드도 있습니다.

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

위의 코드는 완벽하며 'str' 값은 'PAN'이 됩니다. 이것이 Java에서 바이트 배열을 문자열로 변환하는 것입니다.

GitHub 리포지토리에서 더 많은 배열 예제를 확인할 수 있습니다.

참조: getBytes API 문서