IT/컴퓨터와 한글

컴퓨터에서의 한글 처리 (1) 왜 이런짓을 시작하나

smores 2013. 5. 5. 01:10

최근 몇가지 장난을 하다가 한글 처리와 관련해서 너무도 혼란스런 상황이 되었다. 옛날 조합형 시절에 조금 공부한 것 외에는 최근의 경향도 모르고 해서 이제와서 뭐 조금 코딩하다보면, 특히 파이썬을 윈도우 환경에서 사용하다 보니까 그냥 욕이 저절로 나올 지경으로 헷갈리고 있다. 이에 조금 체계적인 공부와 이해가 필요하다고 생각해서 열심히 구글을 찾고, 테스트도 해 보면서 여기 새로 만든 카테고리 (PC와 한글) 에 나 자신을 위한 정리를 해 보려 한다. (다 아는 사람들이라면 별걸 다 포스팅 한다 할지라도 제대로 모르는 상태에서 얼마나 혼란스러운 상황이 많았었던지...)


먼저 다음의 사이트의 포스트가 나의 혼란을 많이 덜어준 가장 잘 정리된 글인 것 같다.


http://ieee-bmsb2012.org/blog/?p=191


애플2 시절 제일 처음 접했던 것은 일종의 N 바이트 코드체계 (한글 입력 오토마타를 그대로 따르는 체계이다. 최근 애플2 한글 소프트웨어인 사랑의 별점 데이터를 복원해 보겠다고 삽질하다가 오랫만에 보게 되었다) 이다. 이후 PC 시대로 넘어가서 청계천 한글 이라는 7비트 2바이트 체계를 잠시 거쳤다가 (지금은 어디서 이런 프로그램 구경하기도 힘들 것 같다. 다만 요즘 취미로 레트로 컴, 소프트웨어 갖고 놀기를 하다 보면 한번쯤 보게 될 가능성이 있다) 2바이트 조합형 (얼마전까지 개인적으로는 가장 과학적인 한글 코드 체계라고 생각해왔다. 지금은 전 세계적인 공통 코드의 필요성이라는 명제 하에서는 어쩔 수 없이 유니코드 - UTF-8 - 체계가 타당하다고 생각이 조금 바뀌었지만...), 그리고 완성형과의 싸움 등등... 여기까지는 비 전문가였지만 조금은 이해하고 따라갔었다. 


헌데 그 이후 이쪽 분야에 관심을 더이상 안두고 있다가 최근 파이썬으로 장난을 하면서, 특히 웹 데이터 갈무리 등을 하다 보니까 한글 사이트만 다루게 되면 거의 욕이 절로 나오는 상황이 되었다. 사실 나 자신이 모르기 때문인데...



대략 경험적으로 컴퓨터에서 한글을 다루는 어떤 경우에 어떤 혼동스런 상황이 있는지 먼저 조금 정리해 보았다.




윈도우 노트패드로 한글이 들어간 문서를 작성한 후 dropbox로 공유해서 iphone 등으로 보자.

   -  노트패드에서 ANSI 로 저장하면 깨진다. 

   -  노트패드에서 UTF-8로 저장하면 안깨진다. 때문에 매번 아이폰으로 볼 문서는 꼭 UTF-8로 다시 재저장한다.


단순히 한글은 2바이트, 아스키 문자는 1바이트라 생각했었는데 노트패드로 저장해 놓고 보면 UTF-8일때는 파일 사이즈가 도대체 이해가 안간다.


웹상에서 한글이 깨지는 사이트

   - IE, firefox 에서는 코딩 체계 쉽게 바꿀 수 있다. 그래서 그런데로 보게 됨.

   - 내가 주력으로 쓰는 Chrome 브라우저에서는 코드 체계 어떻게 바꾸는지 난 모르겠다. 이런~ 궂이 firefox 띄워야...


웹상의 자료 다운로드 시 한글 이름 있을 때

   - Firefox, IE 잘 되 ~~ :)

   - 크롬 한글이름 깨진다 :(  그것도 어떤 사이트는 깨지고 어떤 사이트는 안깨지고... 이거 뭐 기준도 없는지...


윈도우에서 한글 이름으로 파일명 만들면

   - 어떤 OS의 특정 앱에선 파일 이름 깨져 (아이폰 good reader, Linux ??). 때문에 꼭 영어 파일이름으로 개명해야...


난 파이썬을 좋아한다. 다수의 예전 라이브러리 사용하려고 2.7 대 버전을 사용하는데 웹 관련 (특히 한글 웹) 뭔가를 하려면 지랄맞다!!! 도대체 한글 코딩관련해서 좀 이해하기 쉽게 정리된 자료도 잘 못찾겠고... 그냥 한글 관련 어플 만들기는 포기하고 살고파~~ 


얼마전 애플2 사랑의 별점 데이터 복구하려 삽질했다. 어~ 이건 또 뭔 한글 코드? N 바이트 조합형??? 한글 입력 오토마타부터 다시 공부해야 될 판이다... (다행히 크롬 extension 중 HanAutomata 라는 것을 발견해서 직접 입력기 안만들고 처리함)


게다가 레트로 향수에 젖은 나... 도트 프린터 같은 출력 만들고파... 어~ 조합형 코드면 그나마 쉽게 초/중/종성 분리해서 비트맵 폰트로 출력하겠는데 완성형이면... X 됬다. 조합형으로 바꾸는 작업부터 해야 했다.