IT/컴퓨터와 한글

컴퓨터에서의 한글 처리 (6) 윈도우즈 vs 우분투

smores 2013. 5. 5. 06:17

앞에서 ANSI (윈도우에서 Notepad로 작성하여 저장한 경우 한글코드는 EUC-KR) 로 저장된 파이썬 코드과 UTF-8 로 저장된 파이썬 코드에 인코딩 지시자를 EUC-KR, UTF-8, 그리고 생략했을 때의 두가지 에디터 (에디트플러스와 Geany) 상에서 매크로를 이용한 파이썬 실행시의 차이를 비교해 보았다. Geany의 경우 UTF-8 만으로만 저장해서 테스트해 보았고 테스트 환경은 윈도우즈와 우분투 두 OS 상에서 비교를 하였으며 에디터에 따른 다소 상이한 결과가 보였기에 에디터를 배제한 비교를 해 보기로 했다.


테스트를 위하여 동일한 테스트 코드를 사용했고 이를 윈도우즈에서 Notepad를 이용해서 각각 ANSI 와 UTF-8 포맷으로 저장을 했으며, 소스코드내에 인코딩 지시를 역시 3가지로 (EUC-KR, UTF-8, 없는 경우) 해서 총 6개의 파일을 만들었다.


그리고 윈도우즈 및 우분투의 터미널을 열어서 (윈도우즈는 커맨드프롬프트 창) 다음과 같은 테스트를 한다. 터미널에서의 파이썬 인터프리터를 실행한 경우 우분투던 윈도우즈던 모두 한글 코드는 윈도우즈의 경우 4바이트의 문자로 (EUC-KR 코딩에 해당) 들어가 있고, 우분투의 경우 6바이트 문자로 들어간다. 각각의 터미널의 코드 체계에 따르는 것으로 판단된다.


동일한 소스코드를 양쪽에서 실행했을 때 (X-Y.py, X : 저장된 코드 - ANSI/UTF-8, Y : 인코딩 지시어 - None/EUC-KR/UTF-8) 터미널의 코드체계에 따라 한글 폰트가 깨어져 보이느냐 정상으로 보이느냐만의 차이만 있을 뿐 양쪽의 결과가 동일하며, 그 결과는 에러 메시지 마저도 EditPlus의 경우와도 동일하다. 


이 실험으로 Geany의 경우 UTF-8 코드로 저장하고 코드 내에서도 UTF-8 인코딩을 지시한 경우 이외에는 에러 메시지도 터미널에서 바로 코드를 수행한것과 다르며 양쪽 OS에서 모두 동일한 에러를 보이는 것으로 보아 에디터 자체에서 파이썬을 실행할 때 단순히 파이썬을 호출하면서 저장된 소스를 보내는 것이 아니라 뭔가 코딩상태에 영향을 미친 후 보내는 것이 아닌가 싶다.


Geany의 경우 OS에 구애받지 않고 쓸 수 있기에, 그리고 대다수의 컴파일러, 인터프리터를 바로 호출하여 마치 간단한 통합개발환경 같은 편의를 제공하기에 간단한 코드 개발 시 오래된 EditPlus 에서 새로운 환경으로의 이전을 모색하고 있었지만 조금 더 여러가지 테스트를 해 보아야 할 듯 하다. 게다가 EditPlus의 경우 화면의 폰트를 기본 메뉴바에서 쉽게 바꿀 수 있기에 주력으로 사용하는 Courier New 폰트의 경우 한글이 들어간 코딩에서는 한글이 깨지는데 (XP에서는 문제 없었는데 Win7 와서 문제가 된다. 간단히 폰트만 전환해 가면서 한글 코드도 볼 수 있는데 반하여 Geany는 폰트 바꾸는 것이 다소 불편하기에 더더욱 EditPlus에 더 얽매이게 될 판이다. (1998년부터 줄곧 이것만 써 왔으니 꽤나 오래 쓰고 있는 에디터이다.) 


리눅스를 자주 만지게 되는 상황에서는 타 에디터들도 테스트해 보면서 새로운 에디터를 더 찾아봐야 할 상황이 되었다.