본문 바로가기

인코딩2

[자바] - 자바 컴파일러가 인식하는 소스 코드의 기본 인코딩 설정 1. 소스코드도 문자열에 불과하다! 소스 코드의 본질은 문자열이다. 대부분 이클립스나 비주얼 스튜디오 코드, 인텔리제이와 같은 IDE 개발 환경에서 개발하기 때문에 간과하기 쉽다. 소스코드를 작성하고 단축키를 누르면 즉시 빌드되고 실행되기 때문이다. 마치 소스코드가 그 자체로 실행되는 느낌이다. 그러나 소스코드 데이터의 본질은 "문자"다. 컴퓨터가 아니라 인간이 읽고 이해하는 파일이다. 따라서 사실 메모장에서 코드를 작성해도 아무 문제가 없다. (물론 정말로 메모장으로 코딩하는 사람은 없을 것이다.... ;) 그런데 문자열을 다루는 순간, 우리는 필연적으로 인코딩 문제를 신경쓸 수 밖에 없다.(링크) 유니코드인지 아닌지, 문자셋이 유니코드라면 그것을 어떻게 구체적으로 인코딩 했는지에 따라 깨짐 문제가 발.. 2023. 12. 31.
[자바] - 한글이 깨지는 문제의 원리 1. 문자열과 인코딩 문자열과 관련된 문제를 다루기 위해서는 인코딩(encoding)의 원리를 알면 된다. 컴퓨터는 0과 1로 이루어진 비트로 정보를 처리한다. 따라서 컴퓨터가 정보 처리를 마친 후에 그것을 우리(인간)가 이해하기 위해서는 0과 1로 이루어진 외계어를 사람이 이해하는 기호로 바꿔야 한다. 이 과정을 인코딩(encoding)이라 부른다. 문자열도 마찬가지다. 문자도 정보이므로 이것을 컴퓨터로 작업하기 위해서는 0과 1로 바꾸어 처리해야 한다. 그리고 그 결과를 이해하기 위해 0과 1로 이루어진 순수한 정보를 사람이 알고 있는 알파벳으로 바꿔야 한다. 물론 이때는 표준을 통일시켜 모두가 같은 인코딩 방식을 따라야만 비로소 유용할 것이다. 누군가는 A를 100이라고 하고, 누군가는 101이라고.. 2023. 12. 15.