코딩을 하다보면 자주 마주하는 단어, 기본중에 기본. 인코딩, 디코딩을 자주 마주 한적이 있을것이다. 문자를 인코딩을 해줘야한다. 뭐 그래서 해야한다니까 나도 인코딩을 하는 코드 몇자 추가하면 해결. 근데 이거 인코딩이랑 디코딩이 그러니까 제대로 뭔데? 궁금해서 찾아보고 정리해보았다.
먼저 인코딩, 디코딩이 뭔지 구글에 검색해보자.
간단히 말하자면! 인코딩은 컴퓨터가 이해하는 언어로 바꾸는 작업, 디코딩은 사람이 이해하는 문자로 바꾸는 작업을 말하는 것이다!
⇒ 컴퓨터가 문자를 이해하는 방식과 우리가 이해하는 문자는 다르게 컴퓨터에서 존재한다는 것이다. 컴퓨터에서 내가 작업하고 싶은 문자가 있다 하면 컴퓨터가 이해하는 방식으로 바꾸는 인코딩 작업이 필요한것이고, 컴퓨터에서 저장했던 컴퓨터만의 방식으로 저장한 문자를 내가 읽을수 있는 문자로 시각화 하려면 디코딩하는 작업이 필요한 것이다.
문자형 데이터는 컴퓨터가 이해할수 있도록 Bit형태로 변형이 필요하다. 이 과정이 인코딩이 되는것이다.
우리가 그럼 어떨때 인코딩을 마주하는가! 우리는 한국어를 인코딩 할때 인코딩을 가장 많이 마주하게 된다. 왜 한글 인코딩이 필요한거지?
Ascii계열의 문자는 0-127까지 표현이 되기 때문에 1Byte안에 표현이 가능하다. 한글은 Ascii안에 표현이 불가하다. 이때, 이를 표현하기 위해서는 Byte가 충분히 더 필요하다. 그래서 우리는 한글을 사용할때 인코딩 작업을 넣어주게 되는 것이다.
거기서 자주 마주하게 되는 아이들이 'utf-8', 'cp949', 'euc-kr' 등이 있는것이다.