정리

유니코드 (Unicode)

gilchris 2019. 3. 17. 02:00

전 세계의 모든 문자를 컴퓨터에 저장하는 방법에 대한 표준

Character Point
  • U+AC00 이라는 형태로 유니코드를 표현할 때, 특정 글자가 할당 받은 위치인 AC00이라는 16진수를 Character Point 또는 Code Point라고 부른다.

인코딩(부호화) 방식

UTF-8
  • 가장 널리 쓰임
  • ascii 와 호환됨
UTF-16
  • Windows에서 시스템 기본 인코딩 방식으로 사용
  • 모든 문자에 16비트가 할당되어 글자 수 계산이 편함
UTF-32
  • 유니코드에 할당된 값(Code Point)을 그대로 표현함
UCS-2
  • UTF-16과 비슷하다.
  • 옛날 문서에 그냥 유니코드라고 지칭하면 이걸 이야기한다.

표현 방법
  • 기본
    • (예) U+AC00
    • 일반적으로 유니코드 문자를 설명할 때 사용
  • Escape Sequence
    • (예) \uAC00
    • JSON 등에 글자를 넣어 전송할 때 사용. 보내는 쪽과 받는 쪽의 인코딩 방식이 다를 수가 있어서...
  • HTML numeric code
    • (예) &#44032
    • HTML에서 사용하기 위한 용도. 요즘에는 거의 안 쓰는 듯

BOM (byte order mark)

유니코드 정규화 (Unicode Normalization, Unicode Equivalence)
  • 모양이 같은 여러 문자들이 있을 경우 이를 기준에 따라 하나로 통합해 주는 일
  • MacOS에서는 NFD(Normalization Form Canonical Decomposition)를 이용하고, 윈도에서는 NFC(Normalization Form Canonical Composition) 방식으로 한글을 정규화 한다.
    • 그래서 MacOS에서는 U+1100 ~ U+11FF 영역을 이용해서 한글을 표현하고, 윈도에서는 U+AC00 ~ U+D7A3 영역을 이용해서 표현한다.
    • 그래서 맥에서 저장한 파일 이름이 윈도에서 볼 때 자음, 모음이 모두 펼쳐져서 보이는 경우가 있다.

참고