유니코드(The Unicode Standard)란 유니코드 협회(Unicode Consortium)에서 제정하고 관리하는 전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식으로 현존하는 모든 문자 인코딩 방법을 모두 유니코드로 교체하기 위한 목적으로 만들어졌다. 현재의 유니코드는 다양한 기호나 이모지를 비롯한 지구상에서 통용되는 대부분의 문자들을 담고 있어 로마자 위주의 코드였던 아스키 코드와는 달리 한글과 한자등 을 비롯한 다양한 문자들을 통일된 환경에서 사용할 수 있다.
간단하게 정리하다면 유니코드는 국제적으로 전세계 언어를 모두 표시할 수 있는 표준코드라고 할 수 있다.
#### 유니코드 인코딩
유니코드를 통해 정의된 코드표에서 내가 원하는 문자를 컴퓨터에 저장해려면 해당되는 코드로 저장해야 하는데 이때 유니코드는 문자 하나를 4byte(32bits)테이블에 배당해야 하기에 과거에 사용하던 아스키(ASCII)코드는 1byte에 할당하던 것에 비하면 용량이 크기 때문에 굉장히 비효율적이 된다. 그렇기 때문에 UTF-8과 같이 자주 사용되는 인코딩 방식에서는 가변길이 문자 인코딩으로 이러한 것을 보완한다.
가변길이 문자 인코딩이란 글자에 따라 해당되는 용량을 다르게 하는 방식으로 가장 흔히 사용되는 UTF-8의 경우에는 최대 6byte까지 저장가능하지만 보통 다른 인코딩과의 호환을 위해 4byte까지 사용하며 한 글자당 1 ~ 4 byte 중 하나로 인코딩한다. 따라서 사용량이 많은 문자에는 적은 byte를 할당하고 사용량이 적은 문자에는 상대적으로 많은 byte를 할당하여 용량을 관리한다.
또한 혼동의 여지가 없는 단일 인코딩 방식을 사용하여 여러 하위 방식이 존재하는 다른 인코딩 방식에 비해 편의성이 상당히 좋은 편이기에 보통 유니코드하면 utf-8방식 인코딩을 말한다.
정리하자면 유니코드는 기존에 사용하던 아스키코드에 비해 더 다양한 문자 체계를 사용가능한 조금 더 진보된 문자 전산 처리 방식이라고 할 수 있다.