투케이2K

127. (java/자바) 바이트(byte)값과 문자열(string)간 데이터 변환 실시 - MS949,UTF-8,UTF-16,UTF-16LE,EUC-KR,ISO-8859-1 본문

Java

127. (java/자바) 바이트(byte)값과 문자열(string)간 데이터 변환 실시 - MS949,UTF-8,UTF-16,UTF-16LE,EUC-KR,ISO-8859-1

투케이2K 2021. 1. 20. 07:57

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

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

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

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

[소스 코드]

 

package AI3;

import java.util.Arrays;

public class MainActivity29 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[바이트(byte)값과 문자열(string)간 데이터 변환 실시 - MS949,UTF-8,UTF-16,UTF-16LE,EUC-KR,ISO-8859-1]");

		/*[설 명]
		 * 1. byte to string - new String()을 사용해서 바이트 값을 문자열로 표시합니다
		 * 2. string to byte - getBytes()를 사용해서 문자열 값을 바이트로 표시합니다
		 */
		
		byte b_data[] = {104, 101, 108, 108, 111};
		String s_data = "hello";
		
		getByteToString(b_data); //메소드 호출
		
		getStringToByte(s_data); //메소드 호출

	}//메인 종료
	
	// ==== [byte to string 포맷 메소드] ====
	public static void getByteToString(byte[] data) {
		try {
			System.out.println("Byte to String [원본 바이트] : "+Arrays.toString(data));
			System.out.println("Byte to String [일반] : "+new String(data));
			System.out.println("Byte to String [MS949] : "+new String(data, 0, data.length, "MS949"));
			System.out.println("Byte to String [UTF-8] : "+new String(data, 0, data.length, "UTF-8"));
			System.out.println("Byte to String [UTF-16] : "+new String(data, 0, data.length, "UTF-16"));
			System.out.println("Byte to String [UTF-16LE] : "+new String(data, 0, data.length, "UTF-16LE")); //유니코드 문자열
			System.out.println("Byte to String [EUC-KR] : "+new String(data, 0, data.length, "EUC-KR"));
			System.out.println("Byte to String [ISO-8859-1] : "+new String(data, 0, data.length, "ISO-8859-1"));
			System.out.println("");
		}
		catch(Exception e) {
			System.out.println(e.getMessage());
		}
	}
	
	// ==== [string to byte 포맷 메소드] ====
	public static void getStringToByte(String data) {
		try {
			System.out.println("String to Byte [원본 문자열] : "+data);
			
			byte one_arr[] = data.getBytes();
			System.out.println("String to Byte [일반] : "+Arrays.toString(one_arr));
			
			byte two_arr[] = data.getBytes("MS949");
			System.out.println("String to Byte [MS949] : "+Arrays.toString(two_arr));
			
			byte three_arr[] = data.getBytes("UTF-8");
			System.out.println("String to Byte [UTF-8] : "+Arrays.toString(three_arr));
			
			byte four_arr[] = data.getBytes("UTF-16");
			System.out.println("String to Byte [UTF-16] : "+Arrays.toString(four_arr));
			
			byte five_arr[] = data.getBytes("UTF-16LE");
			System.out.println("String to Byte [UTF-16LE] : "+Arrays.toString(five_arr));
									
			byte six_arr[] = data.getBytes("EUC-KR");
			System.out.println("String to Byte [EUC-KR] : "+Arrays.toString(six_arr));
			
			byte seven_arr[] = data.getBytes("ISO-8859-1");
			System.out.println("String to Byte [ISO-8859-1] : "+Arrays.toString(seven_arr));
			
			System.out.println("");						
		}
		catch(Exception e) {
			System.out.println(e.getMessage());
		}
	}

}//클래스 종료

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

[결과 출력]

[바이트(byte)값과 문자열(string)간 데이터 변환 실시 - MS949,UTF-8,UTF-16,UTF-16LE,EUC-KR,ISO-8859-1]

Byte to String [원본 바이트] : [104, 101, 108, 108, 111]

Byte to String [일반] : hello

Byte to String [MS949] : hello

Byte to String [UTF-8] : hello

Byte to String [UTF-16] : ???

Byte to String [UTF-16LE] : ???

Byte to String [EUC-KR] : hello

Byte to String [ISO-8859-1] : hello

String to Byte [원본 문자열] : hello

String to Byte [일반] : [104, 101, 108, 108, 111]

String to Byte [MS949] : [104, 101, 108, 108, 111]

String to Byte [UTF-8] : [104, 101, 108, 108, 111]

String to Byte [UTF-16] : [-2, -1, 0, 104, 0, 101, 0, 108, 0, 108, 0, 111]

String to Byte [UTF-16LE] : [104, 0, 101, 0, 108, 0, 108, 0, 111, 0]

String to Byte [EUC-KR] : [104, 101, 108, 108, 111]

String to Byte [ISO-8859-1] : [104, 101, 108, 108, 111]

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

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

[요약 설명]

* 1. byte to string - new String()을 사용해서 바이트 값을 문자열로 표시합니다

* 2. string to byte - getBytes()를 사용해서 문자열 값을 바이트로 표시합니다

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

반응형
Comments