Link
10-23 02:25
«   2020/10   »
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
100
Total
1,082,117
관리 메뉴

꿈 많은 사람의 이야기

자바 char 타입 및 아스키, 유니코드, 타입변환 본문

java

자바 char 타입 및 아스키, 유니코드, 타입변환

이수진의 블로그 이수진의 블로그 2017. 8. 8. 08:49

자바는 모든 문자를 유니코드로 처리한다. 유니코드는 세계 각국의 문자들을 코드값으로 매핑한 국제 표준 규약이다. 유니코드는 하나의 문자에 대해 하나의 코드값을 부여한다. A 및 한글도 하나의 코드 값을 갖는다. 

유니코드는 0 ~ 65535 범위의 2byte 크기를 가진 정수 값이다. 

그 중 0 ~ 127 까지는 아스키 문자(특수 기호 및 영어 알파벳)가 할당되어 있고 44032 ~ 55203까지는 한글 11172자가 할당되어 있다.


자바는 하나의 유니코드를 저장하기 위해 2byte 크기인 char 타입을 제공한다.

char var = 'A'; -> 유니코드 0x0041 -> 2진수 00000000 01000001 이런 식으로.


각 문자에 대해 유니코드 값을 얻으려면 int값으로 받으면 된다.

예를 들어

char c = 'A'; 라고 하자.


이것을 int unic = c1;으로 받으면 유니코드 값이 들어가게 된다.


이것은 자동 타입변환이 일어나는 것이며 자동 타입변환은 프로그램 실행 도중에 자동적으로 타입 변환이 일어나는 것을 말한다.


그리고 자동 타입 변환은 작은 크기 타입이 큰 크기를 가지는 타입에 저장될 때 발생된다.


즉 int(4byte)는 char(2byte)보다 크기 때문에 자동 형변환이 일어난다.



강제 타입변환도 있다. 강제 타입변환은 큰 크기의 타입이 작은 타입의 값으로 들어갈때 일어나게 한다. 말 그대로 강제로 해준다.

int v = 'A';

char c = (char) v;


밑에 (char) 로 한 것이 강제로 변환해주는 방법이다

0 Comments
댓글쓰기 폼