콘텐츠로 건너뛰기
Home » UTF8

UTF8

파일에서 한 글자씩 스캔하는 방법

네이버 지식인에서 줏어든 문제 중에 이런게 있었다. 한글과 영문, 기호가 섞여 있는 내용으로 된 매우 큰 텍스트 파일이 있는데, 여기서 세 글자씩 가져와서 처리하고 싶다는 것이다.

이런 경우라면 텍스트 파일을 통째로 읽어들여서 큰 문자열로 로드한 후 앞에서부터 세글자씩 subscript해서 사용하면 된다. 그런데 문제는 이 파일이 매우 크다는 것이다. 그래서 이진 파일로 조금씩 읽어서 어떻게 한글/영문 관계 없이 세 글자씩 묶어서 처리할 수 있을까? 해당 텍스트 파일의 인코딩이 UTF8이라는 전제에서 접근해보자.

더 보기 »파일에서 한 글자씩 스캔하는 방법

유니코드 문자열과 문자열 인코딩

컴퓨터는 어떻게 글자를 표현할까 컴퓨터가 처리하는 모든 데이터는 궁극적으로 2진수로 표현되는 숫자값이다. 따라서 컴퓨터가 문자를 처리하도록 하기 위해서는 각각의 글자에 고유한 번호를 부여하여 특정한 숫자값과 특정한 글자를 1:1 로 맵핑하는 것이다. 이러한 문자 맵에서 가장 잘 알려져 있는 것이 아스키(ASCII) 코드이다. 아스키코드는 128개의 알파벳 문자 및 숫자와 문장부호, 몇 가지 괄호와 연산자 문자 그리고 프린터 출력에 필요한 제어 문자등을 정리한 코드 체계이다. 128개의 글자를 포함하고 있기 때문에 (물론 그 중에는 눈에 보이지 않는 글자도 있다.) 이 가지수는 모두 2의 7제곱이며… 더 보기 »유니코드 문자열과 문자열 인코딩