투케이2K
127. (java/자바) 바이트(byte)값과 문자열(string)간 데이터 변환 실시 - MS949,UTF-8,UTF-16,UTF-16LE,EUC-KR,ISO-8859-1 본문
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()를 사용해서 문자열 값을 바이트로 표시합니다
/* =========================== */
'Java' 카테고리의 다른 글
129. (java/자바) LocalDate, LocalTime 사용해서 현재 날짜 및 요일, 시간 확인 실시 (0) | 2021.01.22 |
---|---|
128. (java/자바) Arrays.toString 리스트 데이터 형식 문자열 파싱 실시 (0) | 2021.01.20 |
126. (java/자바) 유니코드 UTF-16LE 를 사용해 한글 데이터를 바이트(byte)로 변환 및 문자열(string) 변환 실시 (0) | 2021.01.20 |
125. (java/자바) 내부클래스(inner class) 개념 설명 (0) | 2021.01.15 |
124. (java/자바) 패키지 Package 개념 설명 (0) | 2021.01.15 |