-
아스키코드 (ASCII)
-
1960년 미국에서 정의한 알파벳 표준 부호 체계
-
컴퓨터의 기본 저장 단위인 1byte(=8bit)에서 통신을 위한 1bit(parity bit)를 제외하여 최대 7bit 체계 구성
-
-
유니코드 (Unicode)
-
전 세계의 모든 문자를 일관되게 표현하기 위한 국제 부호 체계
-
16bit 체계 구성 (아주 희귀한 문자일 경우 최대 21bit까지 사용)
-
영문 또는 한글을 읽어 크기를 파악해보자.
소스 코드는 아래와 같다.
#include <stdio.h>
int main() {
int dec;
while (1) {
printf("Please enter a value : ");
dec = getchar();
if (dec <= 127) {
printf("ASCII : %d\n", dec);
}
else {
printf("Unicode : %d, ", dec);
dec = getchar();
printf("%d\n", dec);
}
while ((dec = getchar()) != '\n') {
printf("Remaining buffer value : %d\n", dec);
}
printf("\n");
}
}
getchar() 함수를 사용하여 버퍼에서 1byte값을 읽어 dec에 저장한다.
dec 값이 아스키코드 값 범위안에 포함된다면 값을 출력한다.
범위를 벗어날 경우 유니코드로 인식하여 1byte를 추가로 읽어 출력한다.
한글을 사용하기 위해서는 2byte 크기의 자료형이 필요하다는 것을 다음 결과를 통해 알 수 있다.
'Language > C, C++, C#' 카테고리의 다른 글
[C] clock()을 이용한 타자연습기 만들기 (실행시간 측정) (0) | 2020.08.17 |
---|---|
[C] Sleep(), system("cls")를 이용한 주사위 굴리기 (0) | 2020.08.16 |
[C] 배열과 포인터의 관계 (0) | 2020.06.21 |
[C] 방향키로 printf() 커서 위치 이동 (gotoxy) (0) | 2020.06.09 |
[C] 프로그램 실행 과정 (빌드 과정) (0) | 2020.06.08 |