(17) String getBytes(), String(byte[], Charset)

2021. 3. 16. 10:31개발공부/Java

728x90

String getBytes(), String(byte[], Charset)


정의 : String은 character strings로 (character들이 합쳐진) 이루어져 있어 불변하는 성질이 있습니다. 그래서 Unicode*로 encoding*을 하기위해선 String을 byte로 변환시켜줘야 합니다. 메서드 getBytes()는 String 타입을 byte 배열로 반환해줍니다.   그리고 byte 배열을 원하는 Charset(Unicode 형식)으로 decoding해 String으로 만들어주는 String 생성자가 String(byte[], Charset) 입니다. 


설명 :

Unicode란 Universal international standard character로 전 세계 모든 문자를 컴퓨터에서 일관되게 표현하고 다를 수 있도록 설계된 표준입니다. 한글을 읽을 수 있게 해주려면 UTF-8 형식으로 설정해줘야 합니다.

encoding이란 컴퓨터가 이해할 수 있는 형태로 타입을 변경하는 것을 말합니다. 즉, 우리가 타이핑할 때 컴퓨터는 한글이 아닌 유니코드로 인코딩된 형태로 이해하는 것이죠.


예시 : 

1
2
3
4
5
public static void main(String[] args) throws UnsupportedEncodingException {
        String input = "I want to 인코드";
        byte[] bytes = input.getBytes();
        String result = new String(bytes, "UTF-8");
    }
cs

 

출처 : 

위키백과 - 유니코드

Jeong Dowon님 블로그 - Unicode와 UTF-8 간단히 이해하기

 

'개발공부 > Java' 카테고리의 다른 글

(19) Optional  (0) 2021.03.18
(18) map()  (0) 2021.03.17
(16) protected, public, private, default  (0) 2021.03.16
(15) Logger  (0) 2021.03.13
(14) continue, return, break  (0) 2021.03.13