Posts

Showing posts with the label utf-8

문자코드와 인코딩 변환 방법

문자코드란? 문자코드란 컴퓨터가 사람이 알아볼 수 있는 문자로 표시하기 위해 각 문자에 할당한 고유번호를 말합니다. 초창기 문자를 나타내기 위한 아스키(ASCII)코드 는 알파벳, 숫자, 특수 문자 등.. 각 문자에 해당하는 고유번호를 2진수 8비트 로 지정하여 표시하였습니다. 2진수 8비트란 2진수인 0 과 1 을 나타내는 스위치 8개 로 고유번호를 할당한 것을 말합니다. 예를 들면 01101100 은 A , 01101101 은 B ... 이런식으로 2의 8제곱( 256 )가지의 문자를 표시 할 수 있습니다. 하지만 아스키코드로 영문 알파벳, 숫자, 특수 문자 등 256가지 이내의 문자는 커버가 가능했지만 다양한 국가의 다양한 언어를 처리하기에는 256가지로는 부족하기 때문에 더 발전된 문자코드의 개발이 필요했습니다. 게다가 아시아권의 언어같은 경우는 8비트(1바이트)로는 부족해서 16비트(2바이트) 이상을 사용해야 처리가 가능했습니다. 그래서 각 나라의 언어에 맞게 CP37, ISO 8859, Windows-1250 등... 수많은 문자코드세트가 만들어 졌습니다. 한국의 경우는 EUC-KR 과 CP949 를 주로 사용했었고 현재도 많이 사용하고 있습니다. 하지만 문자코드에도 표준화가 필요했기 때문에 근래에는 대부분 유니코드(UTF-8, UTF-16) 로 사용하는 추세입니다. 유니코드 는 대부분 국가의 언어를 포함하고 있어 현재 대부분의 운영체제와 javascript, HTML, node.js등 다양한 프로그램 언어에서 기본적으로 사용되어 지고 있습니다. Node.js에서의 문자코드 Node.js에서도 기본적으로 문자코드를 유니코드인 UTF-8 을 사용합니다. 그래서 Node.js 에서 사용할 프로그램을 작성할때는 꼭 UTF-8 로 작성을 해야 합니다. 최근에 인기리에 사용되고 있는 모던 에디터인 Atom 이나 서브라임텍스트 , Visual studio Code 등에서 새로 만든 문서는 기본적으로 UTF-8로 문서를 생성해 줍니다. 하지만 Nod