package ch08;
public class CharacterTest {
public static void main(String[] args) {
char ch1 = 'A';
System.out.println(ch1);
System.out.println((int)ch1);
char ch2 = 66;
System.out.println(ch2);
int ch3 = 67;
System.out.println(ch3);
System.out.println((char)ch3);
//char ch4 = -66; 음수는 대입 할 수 없음
char ch5 = '한';
char ch6 = '\uD55C';
System.out.println(ch5);
System.out.println(ch6);
}
}
문자도 정수로 표현
- 어떤 문자를 컴퓨터 내부에서 표현하기 위해 특정 정수 값을 정의
- A 는 65
문자세트 : 각 문자를 얼마로 표현할 것인지 코드 값을 모아둔 것
(ex. ASKII, euc-kr, utf-8, utf-16)
아스키코드는 8bit(1byte)로 되어있음 -> 2의 8제곱까지 표현 가능(알파벳부터 특수기호까지)
자바에서의 문자 표현
- 자바는 전 세계의 문자를 나타내기 위해 전세계 표준인 UNICODE를 사용
- utf-16 인코딩을 사용 (모든 문자를 2바이트로 표시 -> 2의 16승까지 표현 가능)
==> 영문 데이터를 쓸 때는 1byte짜리 아스키코드를 많이 사용 -> UTF-8
예제
'A' = 2byte
"A" = 문자열(String)
문자와 문자열 혼동 금지 X
문자형 변수에 숫자를 넣어도, 내부적으로 숫자로 표현 -> 숫자를 넣어도 문자가 출력될 수 있음
package ch08;
public class CharacterTest {
public static void main(String[] args) {
char ch1 = 'A';
System.out.println(ch1);
System.out.println((int)ch1);
char ch2 = 66;
System.out.println(ch2);
int ch3 = 67;
System.out.println(ch3);
System.out.println((char)ch3);
//char ch4 = -66; 음수는 대입 할 수 없음
char ch5 = '한';
char ch6 = '\uD55C'; //\u를 쓰고 뒤에 유니코드를 사용하면 됩니다
System.out.println(ch5);
System.out.println(ch6);
}
}
참고
character set: 문자를 숫자로 변환한 값의 세트
encoding: 문자가 숫자로 변환되는 것
decoding: 숫자에서 다시 문자로 변환되는 것
ASKII code: 알파벳과 숫자 특수 문자등을 1바이트에 표현하는데 사용하는 문자세트
UNICODE: 전 세계 표준으로 만든 문자 세트
UTF-8: 1바이트에서 4바이트까지 다양하게 문자를 표현할 수 있음
UTF-16: 2바이트로 문자를 표현
'JAVA' 카테고리의 다른 글
1-8.JAVA 기초 - 변하지 않는 상수와 리터럴/변수의 형 변환 (0) | 2022.01.06 |
---|---|
1-7.JAVA 기초 - 자료형(논리형,자료형 없이 변수 사용 방법) (0) | 2022.01.06 |
1-5.JAVA 기초 - 자료형(실수) (0) | 2022.01.06 |
1-4.JAVA 기초 - 자료형(자료형의 종류, 정수) (0) | 2022.01.05 |
1-3.JAVA 기초 - 변수 (0) | 2022.01.05 |