투케이2K

32. (java/자바) 바이트 및 문자열간 데이터 포맷 getBytes, new String - byte to string 및 string to byte 간 데이터 포맷 실시 본문

Java

32. (java/자바) 바이트 및 문자열간 데이터 포맷 getBytes, new String - byte to string 및 string to byte 간 데이터 포맷 실시

투케이2K 2020. 12. 30. 08:34

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

package Al;

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

public class MainActivity18 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[바이트 및 문자열간 데이터 포맷 getBytes, new String - byte to string 및 string to byte 간 데이터 포맷 실시]");
				
		//초기 바이트값으로 변환하고자하는 문자열을 선언해줍니다
		String data = "hello";
		System.out.println("원본 문자열 : "+data);
		
		//문자열을 담을 바이트배열을 선언해줍니다
		byte arr[];
		
		try {
			/*[설 명]
			 * 1. 바이트란 ? 8비트 공간으로 256개 정수값을 표현할 수 있습니다 (데이터 통신 시 자주 사용)
			 * 2. getBytes란 ? 문자열 데이터를 바이트로 간편하게 포맷시켜주는 메소드입니다
			 * 3. new String란 ? String 객체로 바이트로된 값을 다시 String 문자열 형태로 포맷시켜줍니다
			 * 4. UTF8 형태로 캐릭터셋을 맞춰서 데이터 깨짐 방지 및 비정상 표시 방지를 위해 사용해줍니다  
			 */
			arr = data.getBytes("UTF-8");
			
			//Arrays.toString을 사용해 바이트 배열을 출력해줍니다
			System.out.println("문자열을 바이트로 변환 : "+Arrays.toString(arr)); 
			
			//new String 사용 시 바이트 배열을 넣어줍니다
			System.out.println("바이트를 문자열로 변환 : "+new String(arr,"UTF-8"));
			
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

[바이트 및 문자열간 데이터 포맷 getBytes, new String - byte to string 및 string to byte 간 데이터 포맷 실시]

원본 문자열 : hello

문자열을 바이트로 변환 : [104, 101, 108, 108, 111]

바이트를 문자열로 변환 : hello

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 바이트란 ? 8비트 공간으로 256개 정수값을 표현할 수 있습니다 (데이터 통신 시 자주 사용)

* 2. getBytes란 ? 문자열 데이터를 바이트로 간편하게 포맷시켜주는 메소드입니다

* 3. new String란 ? String 객체로 바이트로된 값을 다시 String 문자열 형태로 포맷시켜줍니다

* 4. UTF8 형태로 캐릭터셋을 맞춰서 데이터 깨짐 방지 및 비정상 표시 방지를 위해 사용해줍니다

/* =========================== */

반응형
Comments