EUC-KR(CP949)

BANGJH·2020년 9월 9일
0

EUC-KR은 한국 산업 표준으로 지정된 한국어 문자 집합으로 문자 하나를 표현하기 위해
2바이트를 사용합니다.
단, 아스키 코드 문자를 표현할 때는 1바이트를 사용하기 때문에 아스키 코드와 호환됩니다.

EUC-KR은 모든 글자가 완성된 형태로만 존재하는 '완성형'코드입니다.
따라서 한글처럼 초성, 중성, 종성을 조합해 문자를 만들 수 없기 때문에
EUC-KR로 표현할 수 없는 한글이 일부 존재한다.
물론 EUC-KR로 표현할 수 없는 글자들은 일반적으로 잘 사용되지 않긴 한다.

CP949는 EUC-KR을 확장한 문자 집합으로 EUC-KR과 같은 문자열 인코딩이나,
더 많은 문자를 표현할 수 있습니다.
오늘날에는 EUC-KR로 표기하더라도 실제로는 CP949 문자 집합을 사용하는 경우가 많습니다.

영문자 'Hello'를 출력할 때는 아스키 코드와 동일하게 5바이트를 사용하지만
한글 '안녕하세요'를 출력하기 위해서는 10바이트를 사용한다.

EUC-KR로 아스키 코드 영역에 있는 글자를 표현할 때는 1바이트를 사용하지만, 한글 문자를 표현할 때는 2바이트를 사용하기 때문이다.

이처럼 문자열 인코딩에서는 실제 문자열 길이가 버퍼 길이와 다른 경우가 많다.
실제 문자열 길이는 사람 눈에 보이는 문자 길이에 해당하고, 버퍼 길이는 컴퓨터가 문자를 표현하는데 사용한 바이트 수를 의미한다.
여기서 버퍼는 메모리에 할당된 공간을 뜻한다.( 예를 들어 변수를 선언해 숫자나 문자열 값을 넣거나, 새로운 객체를 생성하는 행위 등 모두 버퍼가 필요하다 )

profile
안녕하세요 신입 웹개발자입니다.

0개의 댓글