인코딩, Charset, base64, 아스키 용어 정리
필수 지식 ✔
컴퓨터는 문자를 읽을 수 없다
-> 01010110 등과 같은 이진법 숫자를 읽을 수 있다
( 0과 1 데이터는 이진데이터, binary data 라 불림, 모든 data는 바이너리 데이터)
-> 따라서 우리가 컴퓨터를 가운데 두고 문자를 주고 받을 때에는 문자를 이진법 숫자에 매칭시켜서 컴퓨터한테 줘야한다.
1. 인코딩 (encoding)
아주 넓게 얘기하면 데이터를 변환하는 것이다.
좁게 얘기하면사람이 읽을 수 있는 데이터를 컴퓨터가 읽을 수 있는 부호로 전환해주는 것이다.
(각 분야마다 정확한 뜻은 다르고 변환한다는 뜻은 같다.)🤷♀️
2. 디코딩 (decoding)
디코딩은 인코딩의 반대 개념이다.
3. Charset
charset은 인코딩 규칙(프로토콜)이다,
어떤 이진수 숫자가 어떤 문자로 바꾸어어야 하는지는 미리 정해놓은 규칙들(매칭 표)로 보면된다.
---Chartset 의 종류----------------------------------------------------------------------------------
- ASCII
가장 처음으로 만들어졌고, 127개의 영문과 숫자로 이루어져 있다.
- UNICODE
아스키코드를 보완하기 위해 나왔으며, 모든나라의 언어를 표현할 수 있다.
------------------------------------------------------------------------------------------------------------
UTF-8 이란?🤔
UNICODE는 모든 나라의 언어를 표현하는 문자열 셋이다.
UTF-8은 유니코드의 문자열셋을 이용하는 여러 인코딩 방식 중 하나이다.
인코딩 방식?🤔
유니코드에서 A가 65일 때 binary data로는 1000001 이다.
컴퓨터는 1000001로 딱 7비트만 써서 저장할 수도 있고,
같은 데이터를 01000001 8비트(1바이트)로 저장할 수도 있다.
UTF-8은
가변 인코딩방식이다. 글자마다 byte 길이가 다르다는 것이다. ‘a’는 1 byte이고 ‘가'는 3 byte이다
(규칙은 인터넷에서 찾아볼 수 있다)🤦♂️