문자열 인코딩이란?
: 사람이 사용하는 문자(언어) -> 컴퓨터가 이해하는 2진수(0과 1)
컴퓨터에 문자를 저장, 전송하기 위해서는 모든 데이터를 0과 1로 변환해야한다. 컴퓨터는 '안녕하세요'와 같은 문장을 이해할 수 없기 때문이다.
1. ASCII(American National Standard Institute)
최초의 문자열 인코딩 방식으로, 7비트의 고정 길이로 알파벳, 숫자, 특수문자 등을 표현한다. 영어를 인코딩하기 위한 방식이 때문에 한국어와 같은 다른 나라 문자들은 표현할 수 없다.
2. EUC-KR
한글을 지원하기 위해 등장한 완성형 인코딩 방식으로 2바이트(16비트)로 하나의 문자를 표현한다.
참고로 완성형 인코딩 방식이란 사람들이 자주 사용하는 문자(가~힣)에 코드를 부여하는 방식이다. 다른 방식으로는 초성, 중성, 종성에 각각 코드를 부여하는 조합형이 있다. 완성형은 조합형에 비해 해석하는데 드는 비용이 적어 효율적이지만, 사용하지 못하는 문자가 있다는 단점이 있다.
3. CP949 (MS949)
한글을 지원하기 위해 등장한 확장 완성형 인코딩 방식이다. 앞선 EUC-KR의 단점을 보완하기 위해 등장했다. 동일하게 2바이트(16비트)로 하나의 문자를 표현하고, EUC-KR이 사용하지 않는 나머지 바이트열을 활용해서 대부분의 한글 문자를 표현할 수 있도록 확장했다. 마이크로소프트에서 만들었기 때문에 MS949라고도 한다.
4. 유니코드
전 세계에서 사용하는 각각의 문자들에 4바이트(32비트) 코드를 부여하는 방식이다. 완성형 인코딩 방식으로 부여되는 코드는 'U+XXXX'의 형식과 같이 표현된다. 예를 들어, '가'라는 글자에 부여된 코드는 'AC00'이며, 이를 'U+AC00'이라고 표현한다.
5. UTF-N
UTF-8, UTF-16, UTF-32 등은 유니코드 기반의 문자들을 바이트열에 인코딩하는 방식이다. 유니코드 표에서 인코딩하고자 하는 문자의 코드를 찾은 다음 그 코드를 각 인코딩 방식의 규칙에 따라 변형시켜서 바이트열에 표현한다.
참고
'웹 해킹 > 웹 공부' 카테고리의 다른 글
URL 이중인코딩 (0) | 2024.07.22 |
---|---|
Javascript DOM 접근 및 조작 (CRUD, 이벤트 핸들러) (0) | 2024.01.04 |
URL이란? URL 구조, 도메인과의 차이 (4) | 2024.01.03 |
정적 페이지와 동적 페이지 (2) | 2023.12.27 |
HTTP 상태 코드 (Response Status Code) 200, 300, 400, 500 정리 | 404 에러 (0) | 2023.12.12 |