반응형
목차
Java String convert to byte[], byte[] convert to String
java에서 문자열을 byte[]로 변환하고 반대로 byte[]를 문자열로 변환해야 되는 경우가 종종 생긴다.
만일 DB 테이블이 한글을 지원하지 않는 charset인 경우 DB테이블의 charset에 맞게 인코딩하여 숫자로 저장 후 사용자에게 보여줄 때는 디코딩한다. 그리고 문자열 암호화 등에도 쓰이는데 그 방법을 기록한다.
String convert to byte[]😄
.getBytes() 메서드 이용
.getBytes()에 매개변수를 아무것도 안 넣으면 기본값 charset이 사용됨
.getBytes("UTF-*8"); 이런식으로 매개변수에 charset 설정 시 해당 charset으로 인코딩되는데 이 때는 반드시 예외처리 해야 함(eclipse같은 IDE에서도 예외처리하라는 에러 발생)
매개변수를 넣으면 매개변수의 charset이 적용됨
package java_tmp.test.lsy;
public class Test1 {
public static void main(String[] args){
String str = "내사랑에 세상도 양보한 널 나 끝까지 아끼며 사랑할게 약속해줘 서로만 바라보다 먼 훗날 우리 같은날에 떠나";
// 기본 인코딩으로 변환
byte[] bytes = str.getBytes();
System.out.println("str to byte[] : " + bytes);
}
}
byte[] convert to String🥰
new String()
String의 new String을 이용하고 이 때 매개변수에 bytes[]값을 넣어주면 문자열로 변환된다.
package java_tmp.test.lsy;
public class Test1 {
public static void main(String[] args){
String str = "내사랑에 세상도 양보한 널 나 끝까지 아끼며 사랑할게 약속해줘 서로만 바라보다 먼 훗날 우리 같은날에 떠나";
byte[] bytes = str.getBytes();
System.out.println("str to byte[] : " + bytes);
System.out.println();
String byte2Str = new String(bytes);
System.out.println("byte2Str : " + byte2Str);
}
}
※ 인코딩, 디코딩의 결과로 길이가 달라질 수 있으니 반드시 주의할 것
인코딩 : 컴퓨터가 이해할 수 있는 코드로 변환 💻
디코딩 : 사람이 이해할 수 있는 코드로 변환 👩
참조 : 김철수 홍길동, 2020,12,28, https://hey79.tistory.com/40
reakwon, 2019.5.5, https://reakwon.tistory.com/76
반응형
'IT > development' 카테고리의 다른 글
[IDE] eclipse quick fix 작동 안될 때...(feat. stackoverflow) (0) | 2022.11.24 |
---|---|
[Java] Java 프로그램 실행과정(feat. TCPSchool) (0) | 2022.11.23 |
[php] php <-> cubrid driver 연동 (0) | 2022.11.23 |
[Java] Java Stream 사용법 정리(jdk 1.8 부터 사용 가능) (0) | 2022.11.23 |
[Java] Java Lambda 정리(jdk 1.8부터 사용 가능) (0) | 2022.11.23 |