문자집합(Character set)
컴퓨터가 이해할 수 있는 문자의 모음
인코딩(encoding)
코드화하는 과정, 문자를 0과 1로 이루어진 문자코드로 변환하는 과정
디코딩(decoding)
코드를 해석하는 과정
0과 1로 표현된 문자코드를 문자로 변환하는 과정
인코딩
간단한 인코딩 (컴퓨터가 문자를 0과 1로 이루어진 문자코드로 변환하는과정)
but 한글을 포함한 다른 언어 문자, 다양한 특수문자 표현 불가
아스키코드는 7비트로 하나의 문자를 표현하기에 128개보다 많은 문자를 표현할 수 없음 8비트 확장(extended ASCII)의 등장, 여전히 부족
->언어별 인코딩방식의 등장
한글인코딩 : 완성형 vs 조합형 인코딩 여러개의 문자를 조합하는 방식 2가지(한글)
한글을 인코딩하는 대표적인 2가지 인코딩 방식입니다.
EUC-KR -완성형 인코딩, 글자하나에 2byte크기의 코드 부여
2byte ==16bit == 4자리 십육진수로 표현
글자 하나하나에 십육진법으로 인코딩되어있는 걸 확인할 수 있다.->완성형
언어별 인코딩을 국가마다하면 다국어를 지원하는 프로그램을 개발할 때엔 언어별 인코딩방식을 이해해야하는 불편함이 있다.
이런 불편함을 해소하고자 unicode 문자집합과 utf-8이 나왔습니다
유니코드
통일된 문자집합
한글 영어 화살표와 같은 특수 문자 심지어 이모티콘까지
현재문자 표현에 있어 가장 중요한 방식
unicode의 인코딩 방식은 utf-8, utf-16, utf-32가 있습니다.
유니코드 문자집합에 속한 문자들에는 고유한 16진수 값들이 부여되어있습니다. 이것을 코드포인트라고 하며 이것을 그대로 문자 인코딩 방식으로 삼지 않고 다양한 방식으로 지지고 볶아서 컴퓨터가 이해하는 방식으로 인코딩하는데 이 인코딩 방식에는 utf-8, utf-16등등이 있습니다
그중 가장 대중적인 방식은 utf-8에대해서 알아보도록 합니다
UTF(Unicode Trasformation Format) == 유니코드 인코딩 방법
가변 길이 인코딩 : 인코딩 결과가 1바이트 ~ 4바이트
인코딩 결과가 몇바이트가 될지는 유니코드에 부여된 값마다 다름
인코딩을 알면 알 수있는 부분을 정리해보자
인코딩 타입에 따라서 문자가 해석이 안될 수도 있다
컴퓨터가 어떻게 문자, 숫자를 구분하는지 알 수 있다
글자가 어느정도에 데이터를 필요로하는지 알 수 있다.
출처-
https://www.youtube.com/watch?v=upoRINMqlrw&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=7