<aside> 💡
우리가 키보드에서 A를 누르면 A가 컴퓨터에 저장될 것 같지만, 실제로 컴퓨터는 문자의 의미를 잘 모른다.
키보드를 통해 입력받는 데이터는 숫자이고, 필요할 때 우리는 숫자와 문자를 변환시켜주는 매핑 테이블을 기초로 변환된 데이터를 보고 있는 것이다.
이러한 매핑 테이블에는 아스키 코드표와 유니코드표가 있다. 이러한 매핑테이블을 기초로 문자를 인코딩하고 디코딩하는 것이다.
</aside>
코드표를 mapping table이라 함 아스키 코드표( 1 byte ), 유니코드( 2 byte ), UTF-8( 1~4 byte) 아스키 코드표가 영어만 있기 때문에 전 세계적으로 쓰기 위해 Unicode가 나옴. 하지만 영어권에서 2byte를 쓰기엔 공간낭비때문에 UTF-8이 나옴. 보내는 작업 : 문자, 이미지 등등 - 전송 - 컴퓨터 언어로 바꾸는 작업을 **인코딩(encoding)**이라 함. 받는 작업 : 컴퓨터 언어로 받은걸 문자로 바꾸는걸 디코딩 이라 함. 1byte를 보내고 받는 컴퓨터에서 2byte로 읽으면 글자나 이미지가 깨짐. 그래서 이클립스에서 인코딩 설정을 UTF-8로 바꾸는 거임.
한 문자를 표현할 때 쓰이며,2바이트 공간을 할당한다.
기본값은 ' ' (\u0000)이다 . 즉 공백이라는 하나의 값이다.
package com.java.datatype01.basic;
public class Datatype09_char {
public static void main(String[] args) {
// 기본형 > 문자형(char,2바이트 )
char ch = ' '; //기본값 ' '(공백)
char ch1='A';
char ch2='대';
//String st ="대한민국";
char ch3 ='a';
char ch4=97;
char ch5='\\u0061';
System.out.println(ch);
System.out.println(ch1);
System.out.println(ch2);
System.out.println(ch3);
System.out.println(ch4);
System.out.println(ch5);
}
}
우리가 키보드로 문자를 치면 사실 시스템에는 숫자가 저장 되고 , 매핑 테이블에 의해서 문자로 사상(mapping)된다.
이런 매핑 테이블의 종류에는 ASCII코드,유니코드 등등이 있다.
컴퓨터 시스템에서 기본적인 문자를 표현하기 위한 방식이다.
아스키파일에서는 각각의 알파벳이나 숫자 그리고 특수문자들이 정의 되어 있다.
총 128개의 문자가 정의되어 있다.
1바이트의 저장 공간을 사용한다.
일본어, 중국어, 한국어 등의 비 영어권의 문자를 표시하기 위한 방식이다.
자바도 유니코드 방식을 취하기 때문에 문자형의 저장 공간은 2바이트이다.