주기억 장치에서의 데이터 처리의 최소 단위는 바이트입니다. 물론 기억소자나 통신 과정에서는 비트 단위까지 다루어지 지지만 사람이 인지하는 대부분의 데이터 표현은 바이트 단위가 기본입니다. 그런데 메모리에 저장한 데이터를 어떻게 해석하는지에 따라 데이터는 단순 바이너리 값으로 숫자나 이미지 데이터를 표현하는 정보일 수도 있고, 십진수를 저장하는 값일 수도 있으며(BCD), 영문자, 숫자, 특수문자를 표현할 수도 있습니다(EBCDIC, ASCII). 한 바이트가 아닌 둘 이상의 바이트를 가지고 고정 소숫점을 표현하는 이진값을 나타낼 수도 있고, 더 큰 범위의 수를 표현하기 위한 부동 소숫점을 표현할 수도 있을 뿐만아니라 한국어(CP949, EUC-KR, UTF-8)와 같은 다양한 언어를 표현할 수도 있습니다..
최근의 웹페이지들은 UTF-8인코딩을 채용하는 경우가 점점 늘어나고는 있지만 윈도우 환경이 지배적인 한국에서는 여전히 EUC-KR인코딩 내지 CP949 인코딩을 지원해야하는 것은 한국 개발자들의 숙명이 아닌가 싶습니다. 최근 PHP 환경에서 인코딩 변환을 하다가 문제를 해결한 사례를 메모해 둡니다. 웹서버는 UTF-8 인코딩으로 웹페이지 및 MySQL 데이터베이스에 저장하는 체계인데 서너개의 테이블을 조인해서 엑셀로 내려받기하는 기능을 추가하려 했습니다. DB 쿼리도 문제없고 테스트 과정에서 댓글도 하나로 잘 조인 되었습니다. SELECT t.id, t.type ttype, FROM_UNIXTIME( t.time /1000000 ) ctime, t.priority, t.owner, t.reporter, ..
글을 쓰려다 달력을 보니 다음주면 한글날이네요. 1991년부터는 휴일이 아니었다가 여러 부침끝에 올해는 공휴일인 한글날을 맞이하게 됩니다. 한글만큼 과학적이고 우수한 문자가 없지만 컴퓨터 입장에서 보면 영어중심의 환경이다보니 한글 표현에 여러 혼란과 어려움이 있었습니다. 예전의 조합형, 완성형 한글 논란부터 현재의 EUC-KR, UTF-8 인코딩 까지 다양한 한글 표현만큼 개발자의 부담은 늘어날 수 밖에 없습니다. 현재는 EUC-KR과 UTF-8로 한글 인코딩의 사용 범위가 수렴되었다고 볼 수 있습니다. 결과적으로 조합형 한글 표현 방식은 사라지고 완성형 한글이 대세가 되었습니다. EUC-KR은 완성형 한글을 의미합니다. KSX1001, KSC5601도 EUC-KR을 의미합니다. EUC-KR과 유사한 용..