개발자라면 문자 인코딩(Encoding) UTF-8, 유니코드(Unicode) 방식 이해하기

개발자라면 문자 인코딩(Encoding) UTF-8, 유니코드(Unicode) 방식에 대해 이해해야 합니다. 개발을 진행 시 문자열 처리에서 다양한 경험을 하게 됩니다. 그때 문자열 인코딩에 대한 지식이 없는 경우 원하는 데이터가 표현되지 않을 수 있습니다.

문자 인코딩과 유니코드를 알기 전에 먼저 ASCII(American Standard Code for Information Interchange)를 알아보겠습니다.

아스키(ASCII)코드

영문 알파벳, 숫자, 특수문자 등을 컴퓨터에서 사용하기 위해 부호화한 문자 집합입니다. 이는 1960년대에 미국에서 개발되었으며, 현재까지도 많이 사용되고 있습니다. 아스키는 7비트로 이루어져 있어 총 128개의 문자를 표현할 수 있습니다.

아래는 알파벳 아스키 문자 표 정보입니다.

아스키 코드는 문자를 이진수로 표현합니다. 예를 들어, 알파벳 A는 65의 아스키 코드를 가지며, 2진수로는 01000001로 표현됩니다. 이러한 아스키 코드를 사용하여 문자를 저장하고 전송할 수 있습니다. 그러나, 아스키 코드는 영문 알파벳과 일부 특수문자만을 지원하기 때문에, 다른 언어의 문자를 표현하기에는 한계가 있습니다.

아스키 코드의 한계로 전 세계의 모든 문자를 지원하는 유니코드(Unicode)가 개발되었습니다.

아스키(ASCII)코드 테이블 표 보기

유니코드(Unicode)

유니코드는 아스키 코드와는 달리 16비트로 이루어져 있어, 총 65,536개의 문자를 표현할 수 있습니다.
유니코드(Unicode)는 전 세계의 모든 문자를 일관되게 표현하기 위한 국제 표준입니다. 이 표준은 ASCII부터 한글, 중국어, 일본어 등 모든 문자를 포함하고 있습니다. 이전에는 각 언어별로 사용되는 문자 집합이 다르기 때문에, 서로 다른 문자 집합을 사용하는 시스템 간에는 문자 깨짐 현상이 발생하는 등의 문제가 있었습니다. 이를 해결하기 위해 유니코드가 개발되었습니다.

아래 주소는 유니코드 표가 있는 주소입니다. PDF 파일은 한글 완성형 정보가 있는 파일입니다.

https://home.unicode.org/
https://www.unicode.org/charts/PDF/UAC00.pdf

유니코드사이트-코드차트

Code Charts를 클릭하여 유니코드 정보를 확인 할 수 있습니다.

UTF-8 인코딩

UTF-8은 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나입니다. 컴퓨터에서 문자를 다루는 것은 굉장히 어려운 일입니다. 컴퓨터는 0과 1밖에 이해하지 못하기 때문에 문자를 이진수로 변환하여 저장하고 전송해야 합니다.
이때 사용되는 방식이 바로 문자 인코딩(Encoding)입니다.

UTF-8 방식은 아스키 문자는 1바이트, 한글과 같은 멀티바이트 문자는 3바이트를 사용하여 표현합니다. 이를 통해 유니코드의 모든 문자를 효율적으로 인코딩할 수 있습니다. UTF-8은 현재 가장 많이 사용되는 문자 인코딩 방식 중 하나입니다.

“인코딩A” 문자열을 UTF-8로 변환

A
EC9DB8ECBD94EB94A941

문자열은 문자 집합(Character Set)에서 선택한 문자들의 조합으로 이루어진 데이터입니다. 이러한 문자열은 대부분 프로그래밍 언어에서 다양한 용도로 사용되며, 텍스트 데이터를 처리하는 데 주로 이용됩니다. 예를 들어, 웹 페이지에서 표시되는 모든 글자들은 문자열로 구성되어 있습니다.

URL Encoding

인터넷 브라우저에 URL은 아스키 문자만을 사용할 수 있기 때문에, 한글이나 일부 기호 등의 문자를 URL에 사용하기 위해 아스키 문자로 변환해야 합니다. 이때 사용되는 방식이 URL Encoding입니다.

URL Encoding은 문자열을 이진 데이터로 바꾸는 방법 중 하나입니다. 이를 통해 URL에 사용할 수 없는 문자들을 안전하게 전송할 수 있습니다. 예를 들어, URL에서 공백은 %20으로 인코딩됩니다. 따라서, “hello world”라는 문자열을 URL에 사용하려면 “hello%20world”로 인코딩해야 합니다.

URL Encoding에서 한글은 UTF-8 16진수 값 3byte 앞에 %를 붙여 사용합니다. 네이버에서 “한글” 검색을 URL Encoding을 이용해보겠습니다.

한글을 URL Encoding은 %ED%95%9C%EA%B8%80 입니다.

URL Encoding은 URL에서 사용할 수 없는 문자를 안전하게 전송할 수 있게 해줍니다. 이를 통해 웹 사이트에서 다양한 언어의 문자를 사용할 수 있습니다.

Leave a Comment