Char Type
Char Type(Character Type, 문자형)은 한 개의 문자를 저장하기 위한 자료형이다. 알파벳 한 글자, 숫자 한 자리, 기호 한 개 등 가장 작은 텍스트 단위를 표현한다. 여러 개를 모아 String Type을 구성한다.
내부 표현
문자는 결국 정수(코드 포인트)다. 문자 자체가 아니라 어떤 정수로 매핑되는가를 인코딩이 정의한다.
| 표준 | 크기 | 표현 범위 |
|---|---|---|
| ASCII | 7비트 | 영문/숫자/기호 128개 |
| Latin-1 | 8비트 | 서유럽 문자 256개 |
| 유니코드 | 코드 포인트 | 전 세계 거의 모든 문자 |
언어별 처리
| 언어 | 타입 | 특징 |
|---|---|---|
| C | char (1바이트) | 사실상 작은 정수 |
| Java | char (2바이트) | UTF-16 코드 단위 |
| Python | (별도 없음) | 길이 1인 문자열로 처리 |
| Rust | char (4바이트) | 유니코드 스칼라 값 |
한글과 Char
한글은 ASCII 범위를 벗어나므로 인코딩에 따라 1글자가 2~3바이트가 된다. 문자 수와 바이트 수를 혼동하면 한글이 잘리거나 깨진다. 이모지처럼 4바이트 문자도 있어 단순히 “1글자 = 1 char”가 아닐 수 있다.
관련 노트
- String Type: 문자열 자료형
- Data Type: 자료형 전반
- Int Type · Float Type · Boolean Type: 다른 기본 자료형