C언어 기초

[C언어 기초] 아스키코드(ASCII)란 무엇일까?

MNMNWVWV 2023. 3. 5. 23:06
728x90
반응형

 

 

C 언어는 아스키 코드를 사용하여 문자와 숫자를 표현합니다. 아스키 코드는 7비트 문자 코드이며, 총 128개의 문자와 기호를 포함합니다. 이 코드는 ASCII(American Standard Code for Information Interchange)라고도 불립니다.

아스키 코드에서는 각 문자와 기호에 대해 고유한 7비트 이진 숫자 값이 할당됩니다. 이 값은 0부터 127까지의 범위에 있습니다. 예를 들어, 대문자 A의 아스키 코드 값은 65이고, 소문자 a의 아스키 코드 값은 97입니다.

 

 

C 언어에서 아스키 코드를 사용하는 방법은 간단합니다. 문자를 사용하는 대신, 해당 문자의 아스키 코드 값을 변수에 할당하거나 출력하는 등의 작업을 수행할 수 있습니다. 아래는 아스키 코드를 출력하는 예제 코드입니다.

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main() {
 
   char c = 'A';
   printf("The ASCII value of %c is %d\n", c, c);
 
   return 0;
}
 
cs

위의 코드는 변수 c에 대문자 A를 할당하고, 해당 문자의 아스키 코드 값을 출력합니다. 출력 결과는 다음과 같습니다.

The ASCII value of A is 65

 

아스키 코드는 컴퓨터에서 문자와 기호를 표현하는 데 사용되는 가장 기본적인 코드 체계입니다. 이 코드를 이해하면, C 언어에서 문자와 문자열을 다루는 데 매우 유용합니다. 또한, 아스키 코드를 사용하여 특정 문자와 기호를 검색하거나 변환하는 데도 사용할 수 있습니다.

 

 

아스키 코드는 문자와 숫자뿐만 아니라, 특수 문자와 제어 문자도 포함합니다. 이러한 문자들은 화면에 직접 출력될 수 없으며, 컴퓨터에서 특정 기능을 수행하기 위해 사용됩니다.

 

아스키 코드는 7비트 문자 코드이기 때문에, 8비트 이상의 문자 코드를 사용하는 국가나 언어에서는 아스키 코드의 확장인 확장 아스키(Extended ASCII)를 사용합니다. 이는 기존의 아스키 코드에 추가적인 문자와 기호를 추가하여 총 256개의 문자와 기호를 포함합니다.

 

하지만, 확장 아스키 코드는 국가별로 다르게 구현되어 있기 때문에, 다른 컴퓨터에서는 동일한 문자나 기호가 다르게 표시될 수 있습니다. 이러한 문제 때문에, 유니코드(Unicode)라는 새로운 문자 코드 체계가 등장하게 되었습니다.

유니코드는 전 세계의 모든 문자와 기호를 포함하는 21비트 문자 코드이며, 모든 문자와 기호에 대해 고유한 코드 값을 가지고 있습니다. 또한, 유니코드는 아스키 코드와 호환성이 있기 때문에, 기존의 C 언어 코드에서도 쉽게 사용할 수 있습니다.

반응형

C 언어에서는 유니코드를 다루기 위해 wchar_t 형식이라는 새로운 데이터 타입을 제공합니다. 이를 사용하여 유니코드 문자열을 다룰 수 있습니다. 예를 들어, 아래의 코드는 유니코드 문자열을 출력하는 예제입니다.

1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <wchar.h>
 
int main() {
   wchar_t str[] = L"안녕하세요";
   wprintf(L"%ls\n", str);
   return 0;
}
cs

 

위의 코드는 유니코드 문자열 "안녕하세요"를 변수 str에 할당하고, 해당 문자열을 wprintf 함수를 이용하여 출력합니다. 출력 결과는 다음과 같습니다.

안녕하세요

 

따라서, C 언어에서는 아스키 코드와 유니코드를 모두 다룰 수 있기 때문에, 다양한 언어와 문자를 다루는 프로그래밍에 매우 유용합니다.

728x90
반응형