euc-kr to utf-8

내 업무 중 하나는 한글(hwp)문서와 관련 된 작업을 하는 것이다. 한글파일 안에 들어갈 데이터를 사용자로부터 입력받아서 파싱하여 미리 만들어 둔 한글 템플릿에 적용 하는게 나의 주 업무이다. 한글 문서에 입력될 텍스트를 파싱할 때 euc-kr로 인코딩을 한다. euc-kr (Extended Unix Code for Korean)는 한글을 표현하기 위해서 사용한(했던) 인코딩 중 하나이고 한국의 레거시 프로젝트에서 많이 사용 되었다고 한다.

euc-kr의 특징은 variable size이다. 한글은 2 byte, 그 외 알파벳, 숫자와 같은 ascii 문자는 1 byte를 차지한다. 모든 unicode 문자 표현이 가능한 utf-8와 달리 euc-kr은 한글이 아닌 다른 문자는 표현을 못한다. 추가로, 문서에 들어가는 텍스트에 한글, 숫자, 알파벳, 특수 문자 등이 들어가는 경우, 정렬이 잘 안되는 경우가 있다.

마음같아선 지금이라도 utf-8으로 바꾸고 싶고, 프로젝트 초반이었다면 utf-8를 사용하도록 변경을 할 것 같다.