WIPIVERSE

문자 (컴퓨팅)

문자

정의
컴퓨팅 분야에서 “문자”(英: character)는 인간이 인식하고 사용하는 글자, 기호, 숫자, 공백 등과 같은 최소 단위의 텍스트 요소를 의미한다. 문자 하나는 화면에 표시되거나 저장 매체에 기록될 수 있는 독립적인 정보 단위이며, 일반적으로 문자 코드는 문자와 이진 데이터 사이의 매핑을 담당한다.

주요 개념

구분 내용
문자 집합 (Character Set) 특정 문자 집합은 일정 범위의 문자를 정의한다. 예를 들어, ASCII(7비트), ISO‑8859‑1(라틴‑1), EUC‑KR(한국어), UTF‑8/UTF‑16/UTF‑32(유니코드) 등이 있다.
인코딩 (Encoding) 문자 집합에 정의된 각 문자를 이진값(바이트)으로 변환하는 방식을 말한다. 인코딩 방식에 따라 동일한 문자라도 저장 형태가 달라질 수 있다.
유니코드 (Unicode) 전 세계 문자·기호·표현을 통합적으로 지정한 국제 표준이다. U+AC00 같은 코드 포인트를 통해 한글 음절을 포함한 모든 문자를 고유하게 식별한다. UTF‑8, UTF‑16 등은 유니코드를 구현한 대표적인 인코딩이다.
문자열 (String) 연속된 문자들의 시퀀스로, 프로그래밍 언어에서 텍스트 데이터를 다룰 때 기본 자료형으로 사용된다. 문자열은 길이와 문자 인덱스를 통해 개별 문자에 접근한다.
문자열 처리 문자열 비교, 검색, 분할, 결합, 정규식 매칭 등 다양한 연산이 포함된다. 언어마다 문자열 API와 내부 구현이 다를 수 있다(예: C의 char*, Java의 String, Python의 str).

컴퓨팅에서의 활용 사례

  1. 입력·출력: 키보드, 터치스크린, 음성 인식 등으로 사용자가 입력한 문자를 화면이나 프린터 등 출력 장치에 표시한다.
  2. 데이터 저장: 파일 시스템, 데이터베이스, 네트워크 전송 등에서 텍스트 데이터는 문자 인코딩에 따라 바이트 스트림으로 저장·전송된다.
  3. 국제화·현지화 (I18N/L10N): 다양한 언어·문화권 사용자를 지원하기 위해 유니코드 기반의 문자 집합과 다국어 인코딩이 필수적이다.
  4. 프로그래밍 언어: 대부분의 현대 언어는 문자열 리터럴 및 문자 타입을 제공하며, 문자 연산을 위한 표준 라이브러리를 포함한다.

역사적 배경

  • 1960년대: ASCII가 영문 기반 최초의 표준 문자 집합으로 제정.
  • 1980~1990년대: 지역별 문자 집합(EUC‑KR, Shift_JIS 등)이 등장하면서 다국어 지원이 확대.
  • 1991년: Unicode Consortium 설립, 1993년 Unicode 1.0 발표.
  • 1990년대 후반~현재: UTF‑8이 웹·모바일 분야에서 사실상 표준 인코딩으로 자리매김.

관련 용어

  • 코드 포인트 (Code Point): 유니코드 표준에서 각 문자에 할당된 고유 번호.
  • 바이트 순서 표시 (BOM, Byte Order Mark): UTF‑16·UTF‑32 등에서 엔디안 정보를 나타내기 위한 특수 문자.
  • 멀티바이트 문자 (Multibyte Character): 한 문자당 여러 바이트를 사용해 표현되는 경우(예: UTF‑8).
  • 고정폭 문자 (Fixed‑width Character): 한 문자당 동일한 바이트 수를 차지하는 인코딩(예: UTF‑32).

참고

  • Unicode Consortium, The Unicode Standard, 최신 버전.
  • ISO/IEC 8859 표준 시리즈.
  • 다양한 프로그래밍 언어 공식 문서(예: Python str, Java String, C++ std::string).
둘러보기

더 찾아볼 만한 주제

    전체 문서 보기