📍ASCII
✅영문 알파벳을 사용하는 대표적 문자 인코딩
- 전체 128개의 문자가 존재하며, 이 128개는 UTF와 동일
- 0~31, 127번은 출력 불가 (33개)
- 33~126번은 출력 가능
- 사용 예시
JavaScript의 String.prototype.charCodeAt("A") 는 대문자A 의 UTF-16 코드 65를 반환
📍UTF-8
✅가장 보편적인 웹의 문자 인코딩
- 유니코드 가변 길이 문자 인코딩 방식
- Universal Coded Character Set + Transformation Format 8-bit의 약자로 8bit 단위로 문자를 표현
- ASCII code와 0~127번 (U+0000부터 U+007F) 문자가 서로 동일
이 번호의 문자는 1byte(8bit) 크기
- 이외는 2~4byte
📍UTF-16
✅UTF-8과 달리, 16bit단위로 문자를 표현
- 따라서 2byte혹은 4byte크기만 가질 수 있음
📍UTF-8 vs UTF-16
✅한 문자를 표현하기 위한 필요 byte 크기
- UTF-8
영문(ASCII) : 1byte
한글 : 3byte
- UTF-16
영문(ASCII) : 2byte
한글: 2byte
한글의 경우, UTF-8보다 UTF-16이 더 적은 크기를 차지하지만, 어차피 서버에서 압축해서 데이터를 전송하고,
영문이나 숫자의 경우 UTF-8이 더 가볍기 때문에 두 인코딩 방식 사용에는 큰 차이가 없다
📍참고
https://ko.wikipedia.org/wiki/ASCII
https://ko.wikipedia.org/wiki/UTF-8
https://developer.mozilla.org/ko/docs/Glossary/UTF-8