문자 (컴퓨팅)

문자(文字)는 컴퓨터와 기계 기반 전기통신 용어로, 자연어 기록 형태의 알파벳이나 음절 문자와 같은 상징 따위와 일치하는 정보의 단위이다. 문자는 일반적으로 문자열로 합쳐진다.

문자 인코딩 

컴퓨터 및 통신 장비는 각 문자를 무언가(일련의 비트로 대표되는 정수의 양, 일반적으로는 네트워크를 통해 전달되거나 저장 가능)에 할당하는 문자 인코딩을 이용하여 문자를 대표한다. 대표적인 예로 아스키, 그리고 유니코드를 위한 UTF-8가 있다.

char 
C/C++ 프로그래밍 언어에서의 char는 8비트 정수형 처리 변수이다. 그러나 정수형이라는 것은 CPU 입장에서는 그렇고 인간의 문자 처리를 위해 만들어졌다. character의 약자가 변수를 지정하기 위한 char로 아스키(ASCII) 코드 값은 기본적으로 7비트 이므로 이것은 8비트 정수형의 부분집합일 뿐이다. 따라서 char 변수는 아스키 코드 처리를 할 수 있다. 기본적으로 char 변수는 정수형이기 때문에 아스키 코드의 변환 등에 계산을 통해 수행할 수 있다. 예를 들어 'A'를 'a'로 바꾸려면 정수형 연산으로 가능하다. 따라서 8비트의 문자 코드 처리가 가능하다. 아스키 뿐만 아니라 UTF-8 코드 역시 처리가 가능하다. 문자를 처리할 때 C/C++에서는 문자열(string)의 끝에 0이라는 끝을 알리는 숫자가 들어가기 때문에 정해진 배열 크기 안에서 스트링 처리가 되어야 한다. 초기의 컴퓨터가 미국에서 개발되어 사용되어 질때, 8비트 코드 만으로 문자를 나타내는데 충분 했다. 그러나 최근의 많은 OS에서는 국제화 되면서 UNICODE 등의 16비트 체계를 많이 사용한다. 따라서 char 변수로는 불가능 하다. char 배열 변수가 처리하고자 하는 충분한 문자열 길이를 갖더라도, UNICODE에서 알파벳의 한글자는 0+ASCII코드의 형태로 변수 영역에 저장 된다. 바로 이 숫자 때문에 한글자만 인식하는 문제가 발생 한다. 이를 해결하기 위해 wchar_t 변수를 사용하면 된다. 초기에 컴퓨터의 문자 처리는 아스키의 7비트 만으로도 충분 했다. 따라서 C언어에서 처리는 char 변수로 충분 했다. 컴퓨터가 국제화 되면서 다양한 언어의 문자를 취급할 필요가 생겼다. 국제화를 하면서 다양한 문자 코드가 있으나 16비트 UNICODE을 많이 사용한다. 따라서 이것을 처리하기 위해 wchar t가 도입되었다.

word 문자 
'word' 문자는 일부 전산 측면에서 특별한 의미를 지닌다. word 문자는 일반적으로 A-Z (대,소문자)와 0에서 9까지의 숫자, 그리고 _를 포함한다.

같이 보기 
 문자열

각주

외부 링크 
  Characters: A Brief Introduction by The Linux Information Project (LINFO)
  ISO/IEC TR 15285:1998 summarizes the ISO/IEC's character model, focusing on terminology definitions and differentiating between characters and glyphs

문자 인코딩
자료형
디지털 타이포그래피
원시 자료형