컴퓨터

문자와 인코딩 개념 정리 (Unicode, UTF-8, UTF-16, ASCII, EUC-KR)

dolhim 2016. 11. 10. 18:18


용어 개념 



Unicode 


모든 문자에 대하여 유니크한 코드를 부여한 것으로 플랫폼, 운영체제, 언어에 독립적이다. (이것은 인코딩 방식이 아니라 그냥 코드 표일 뿐이다.)



UTF-8 Unicode Transformation Format 의 약자. 


유니코드 변환 포맷(인코딩 방식) 중 하나로, 각 문자에 대한 코드를 8비트 길이로 부여한다.



UTF-16 Unicode Transformation Format 의 약자. 


유니코드 변환 포맷(인코딩 방식) 중 하나로,  각 문자에 대한 코드를 16비트 길이로 부여한다.

.Net 라이브러리의 Unicode 클래스 는 UTF-16을 의미한다.

C#의 string형 도 기본적으로 UTF-16 인코딩이다.



[여기서 잠깐] 유니코드 코드 표


다음 링크에서 유니코드 컨소시엄 공식 언어별 문서를 통하여 각 문자에 대한 유니코드를 확인할 수 있다. 

링크에서 우리가 살펴볼 만한 문서에 대해 간단히 설명하자면 아래와 같다.


1. Hangul Jamo - 한글 문서이다. 자음 모음 별 코드가 나타나있다.

2. Hangul Syllables - 한글 문서이다. 음절 별 코드가 나타나있다.

3. LatinBasic Latin (ASCII)  - (읭? 왠 아스키..! 아는 단어다. 무슨 의미지? 는 곧 아래에서 살펴보겠음..) 알파벳 문서이다.

3. EmoticonsMiscellaneous Symbols And PictographsSupplemental Symbols and Pictographs - 이모지에 대한 문서이다. (아직 안드로이드나 iOS 에서 찾아보지 못한 문자도 있다..! 흥미로워 � 🤤 � � � � 근데 아직 지원하지 않나보네..)


위 공식 문서 외에 유니코드를 한눈에 볼 수 있는 표도 있다. 한글 문자를 검색하여 해당하는 유니코드를 빠르게 찾기 쉽다.


 [위키백과] 유니코드 C000~CFFF




ASCII (American Standard Code for Information Interchange의 약자, 미국 정보 교환 표준 부호) 

영문 알파벳에 대한 코드표이다.

유니코드의 첫 256글자(U+0000 ~ U+00FF)는 확장 ASCII 코드 중 하나인 ISO/IEC 8859-1을 그대로 차용한 것이라고 한다. 

그러므로, 라틴 문자 유니코드는 ASCII와 동일하다는 의미로 위에서 마주쳤던 ASCII의 의미를 설명할 수 있겠다.


EUC-KR

모든 완성형 한글 문자를 2바이트로 표현할 수 있는 코드표이다.



한글 문자를 16진수 뷰어로 읽었을 때, EUC-KR 인코딩의 경우 코드를 그대로 확인 가능한 반면, UTF-8 인코딩의 경우 표현 방법 규칙을 적용해주어야 유니코드를 확인 가능하다. 자세한 내용



그리고 이해하는데 정말 도움이 많이 된 포스트! 좋은 글 감사합니다. 5월에도 읽고 덧글 남겼었지만 종종 읽으러 갈게요.. : )