Burninghering's Blog
article thumbnail
Published 2022. 1. 6. 10:03
1-6.JAVA 기초 - 자료형(문자) JAVA
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

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바이트로 문자를 표현

 

 

profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.