반응형
개요
유니코드(Unicode)는 전 세계의 모든 문자를 표현할 수 있는 표준 인코딩 방식입니다. 기존의 인코딩 방식(ASCII, ANSI 등)은 특정 언어 전용으로 사용되거나 호환성이 낮아 사용하는데 불편함이 있었고, 유니코드는 이러한 문제를 해결하기 위해 등장했습니다.
또한 유니코드의 인코딩 방식에는 UTF-8, UTF-16, UTF-32가 존재하며, 상황에 따라 적절한 인코딩 방식을 선택하여 사용해야 합니다.
특징
- 전 세계의 모든 문자 지원
- 영어, 한글, 중국어, 일본어, 아랍어 등 모든 언어의 문자를 표현할 수 있습니다.
- 표준 인코딩 방식
- 유니코드는 표준 인코딩 방식으로 널리 사용되어, 대부분의 플렛폼에서 같은 내용의 문자로 표현됩니다.
- 각 문자에 'U+XXXX'와 같은 Code Point를 할당하여 표현합니다.
- 다양한 인코딩 방식 제공
- 메모리 사용량과 호환성을 고려하여 UTF-8, UTF-16, UTF-32 등의 인코딩 방식을 지원하며, 일반적으로 UTF-8이 주로 사용됩니다.
- 각 인코딩 방식은 어느 정도 호환은 되지만, 서로 다른 방식(메모리 크기 등)으로 저장되기 때문에 호환성에 문제가 될 가능성이 있습니다.
종류
인코딩 방식 | 크기 | 특징 |
UTF-8 | 1~4 Byte (가변 길이) |
- ASCII에 해당하는 문자는 1Byte, 한글/한자 등 다른 문자는 3Byte, 특정 이모지는 4Byte를 사용합니다. - ASCII와 완벽하게 호환됩니다. - 다국어를 지원하면서도 데이터 공간 효율성이 높습니다. |
UTF-16 | 2~4 Byte (가변 길이) |
- 대부분의 문자는 2Byte, 일부 특수 문자는 4Byte를 사용합니다. - Windows에서는 UTF-16을 사용합니다. |
UTF-32 | 4 Byte (고정 길이) |
- 모든 문자는 4Byte를 사용합니다. - 문자 직접 접근 및 검색 속도가 빠릅니다. - 가장 직관적이지만 공간 효율성이 낮습니다. - 일반적으로 사용되지 않습니다. |
반응형