일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Linux
- 구현
- 프로그래머스
- HashMap
- 스타트업
- 도커
- 스프링
- 해시맵
- 주니어
- IntelliJ
- spring boot
- 배열
- 스프링부트
- bfs
- 구름LEVEL
- 문자열
- 인텔리제이
- 해결
- 명령어
- 자료구조
- HTTP
- 스프링 부트
- 백엔드
- 코딩테스트
- docker
- Java
- spring
- dfs
- 개발자
- 이직
- Today
- Total
마이의 개발 블로그
문자집합/인코딩 - 키워드 정리 본문
용어
문자집합(character set)
- 프로그래밍 언어에서 프로그램이나 데이터를 표현하기 위하여 미리 결정되어 있는 문자의 집합
인코딩(encoding, 부호화)
- 문자나 기호의 집합을 컴퓨터에서 저장하거나 통신에 사용할 목적으로 문자 부호(character code)로 변환하는 것
디코딩(decoding, 복호화)
- 인코딩 된 문자 부호(character code)를 다시 본래 문자나 기호로 표현하는 것
문자집합의 종류 - 아스키 코드, 유니코드
1. American Standard Code for Information Interchange (ASCII, 아스키)
- 초창기 American National Standards Institute (ANSI) 에서 제시한 표준 코드 체계
- 각 문자를 7비트로 표현, 총 128개의 문자 표현 가능
- 국가별 언어를 표현할 수 없다는 한계가 있음
- 아스키코드표 참고자료 : https://theasciicode.com.ar/
2. Unicode (유니코드)
- 사용중인 운영체제, 프로그램, 언어에 관계없이 문자마다 고유한 값을 제공하는 코드
- 모든 문자를 16비트로 표현하며 최대 65,536자를 표현 가능
한국어 표기를 위한 대표적인 인코딩 종류 2가지
1. EUC-KR
- 한국어 지원 문자인코딩
- 한 문자당 2바이트 사용
- 확장 유닉스 코드(Extended Unix Code, EUC) : 한중일 문자 전산화에 주로 사용되는 8비트 문자 인코딩 방식
- EUC-KR은 KS X 1001와 KS X 1003을 사용하는 8비트 문자 인코딩으로, 대표적인 한글 완성형 인코딩으로 여겨짐
- 128보다 작은 바이트에는 KS X 1003을, 128보다 크거나 같은 바이트에 KS X 1001을 배당함
2. UTF-8 (Universal Coded Character Set + Transformation Format – 8-bit)
- 다국어 지원 문자인코딩으로, EUC-KR보다 많은 수의 한국어 문자를 표현할 수 있음
- 가변 길이 문자열 (1~4바이트 / ASCII : 1바이트 / 한중일 문자 : 최소 3바이트 이상 / 한글 : 3바이트)
요약
1. 문자 집합은 인코딩을 거쳐 문자 부호로 변환되어 프로그램에서 사용되며 대표적으로 아스키코드, 유니코드가 있음
2. 초창기 제시된 아스키코드는 영어 이외의 국가별 언어를 표현할 수 없다는 한계가 있어, 유니코드가 제안됨
3. 한글 표기를 위한 유니코드의 대표적인 인코딩 방식 두 가지로는 UTF-8, EUC-KR 이 있음
- 웹 표준으로 인식되는 UTF-8은 다국어 표현이 가능하고, 대부분 별도의 처리 없이 사용이 용이하여 선호되는 편
- 다만, 윈도우즈의 높은 점유율 때문에 윈도우 기본 한글 인코딩 방식인 MS949(EUC-KR 기반)와의 호환성을 고려해야함
'개발지식 > 기타' 카테고리의 다른 글
[Linux] 윈도우 터미널(Power Shell)에서 curl POST 요청 보내기 (0) | 2024.09.10 |
---|---|
전달인자(argument)와 매개변수(parameter)의 차이점 (0) | 2024.03.14 |
[SICP 스터디] Ch2. 데이터를 이용한 추상화 (0) | 2024.03.14 |
[교육] 원티드 프리온보딩 7월 백엔드 챌린지 사전과제 (0) | 2023.06.30 |