====== 유니코드 ====== http://unicode.org/ [[ISO]]/IEC 10646.(([[ISO IEC 646]]과 정확히 10000 차이나는 것은 의도된 것이다. (다만 모든 [[ISO표준]] 번호가 이렇게 만들어지는 건 아니다) )) [[IEEE 754]]와 더불어 소프트웨어 [[개발자]]가 꼭 알아야 하는 표준이라고 주장해도 모자라지 않는다. 다만 표준 자체가 굉장히 광범위하므로 필요한 부분만 잘 잘라서... 최소한 [[UTF-8]]에 대한 이해는 필요. ===== 유니코드의 범위 ===== 대략적으로 유니코드 표준이 포함하는 것들을 나열하면 다음과 같다. * 10만자가 넘는 현대·고대·특수 문자의 [[문자집합|집합]]([[국제문자집합|UCS]]; 각 문자에는 "[[코드포인트]]"라고 하는 숫자가 배당됨) * 각 문자에 대한 역사적인 서술과 일반적인 쓰기 방법 및 사용례 * 문자의 참조용 [[글리프]] 이미지 * 각 문자의 속성을 규정하는 [[유니코드문자데이터베이스]](UCD) * 각 문자의 이름 * 각 문자의 종류 --- 문자(대문자/소문자/기타), 숫자, 기호, 구분자, 공백, 특수문자 등 * 각 문자의 대소문자 변환 및 정규화 등을 위한 매핑(유니코드 책도 볼 것) * 각 문자가 속하는 언어 * 각 문자의 렌더링을 위한 기본적인 정보 --- 공백, 개행문자(UAX 14), 왼쪽·오른쪽으로 쓰기(UAX 9), 동아시아 문자와의 너비 비교(UAX 11), 다른 문자에 결합 등 * 동아시아 [[한자]]에 대한 추가 정보를 제공하는 [[유니한데이터베이스]] * 한자의 부수 및 획수 * 한자의 인코딩 및 (존재할 경우) 주요 사전에서의 위치 * 한자의 각 언어별 발음 및 사전적 의미 * 유니코드 [[문자인코딩]] --- [[UTF-8]], [[UTF-16]], [[UTF-32]] 등 * 왼쪽·오른쪽으로 쓰는 문자들의 일관된 렌더링을 위한 이방향 렌더링 알고리즘 (UAX 9) * 유니코드 문자열을 언어별 규칙에 맞게 올바르게 정렬하기 위한 정렬(collation) 알고리즘 (UTR 10) * 문자 및 문자열 [[유니코드정규화|정규화]]를 위한 알고리즘 (UAX 15) * 유니코드 [[정규표현식]]을 위한 표준 (UTS 18) 엄밀히 말해서 [[UTF-7]]이나 [[퓨니코드]]([[국제화도메인]]에서 쓰는)는 유니코드 표준은 아니지만 유니코드와 밀접한 관계가 있으며 함께 구현하는 경우가 꽤 있다. ===== 참조 ===== * [[유니코드와한글]] * [[유니코드와한자]] {{tag>유니코드}}