-
[Computer Science] 데이터 : 0과 1로 문자를 표현하는 방법Computer Science 2024. 5. 9. 10:53
0과 1밖에 이해하지 못하는 컴퓨터가
어떻게 다양한 문자를 표현하고 이해하는지에 대해 정리하였습니다.참조 : 인프런 '개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제'
< 문자집합과 인코딩/디코딩 >
문자집합 : 컴퓨터가 이해할 수 있는 문자의 모음
인코딩 : 정보를 컴퓨터가 처리할 수 있는 이진 형태로 변환하는 과정(like 텍스트, 이미지, 오디오, 비디오 등)
디코딩 : 인코딩된 이진 데이터를 다시 원래의 형태나 형식으로 변환하는 과정출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제'
< 아스키(ASCII) 코드 >
초창기 문자 집합 중 하나
알파벳, 아라비아 숫자, 일부 특수 문자 및 제어 문자 표현 가능(총 128개의 문자 표현 가능)
7비트로 하나의 문자 표현(8비트 중 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit)아스키 코드표 아스키 코드는 간단한 인코딩이 가능하다는 장점이 있지만,
한글을 포함한 다른 언어 문자, 다양한 특수 문자 표현이 불가능하다는 단점이 있습니다.
=> 7비트로 하나의 문자를 표현하기에 128개보다 많은 문자 표현 불가능
< 한글 인코딩 : 완성형 vs 조합형 >
초성 + 중성 + 종성의 조합으로 이루어진 한글을 인코딩하는 방식에는 2가지가 존재
- 완성형 인코딩 방식
- 조합형 인코딩 방식
출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제'
< EUC-KR >
KS X 1001, KS X 1003 문자집합 기반의 한글 완성형 인코딩 방식
글자 하나에 2바이트 크기의 코드 부여 : 4자리 16진수로 표현(2바이트 == 16비트 == 4자리 16진수)EUC-KR 표 Ex) 가 : b0a1, 거 : b0c5
EUC-KR은 2300여개의 한글을 표현 가능하지만, 여전히 모든 한글을 표현하기에는 제한적이라는 단점이 있습니다.
더군다나 이렇게 언어별 인코딩을 하게 되면, 다국어 지원 프로그램 개발 시 언어별 인코딩 방식을 모두 이해해야한다는 단점도 존재합니다.+. 직접 인코딩해보기 : https://dencode.com/
DenCode | Encoding & Decoding Online Tools
Encoding and Decoding site. e.g. HTML Escape / URL Encoding / Base64 / MD5 / SHA-1 / CRC32 / and many other String, Number, DateTime, Color, Hash formats!
dencode.com
< 유니코드 문자 집합과 utf - 8>
유니코드란
- 통일된 문자 집합
- 한글, 영어, 화살표와 같은 특수 문자, 심지어 이모티콘까지 표현 가능
- 16진수 4자리로 표현
utf-8이란
- UTF(Unicode Transformation Format) : 유니코드 인코딩 방법
- 가변 길이 인코딩 : 인코딩 결과가 1바이트 ~ 4바이트
- 인코딩 결과가 몇 바이트가 될지는 유니코드에 부여된 값에 따라 다름
유니코드의 인코딩 방식 : utf-8, utf-8, utf-32, ...출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제'
출처 : 인프런 '혼자공부하는 컴퓨터구조 + 운영체제' 'Computer Science' 카테고리의 다른 글
[Computer Science] CPU : ALU와 제어장치 (0) 2024.05.09 [Computer Science] 명령어 : 명령어의 구조 (0) 2024.05.09 [Computer Science] 명령어 : 소스 코드와 명령어 (0) 2024.05.09 [Computer Science] 데이터 : 0과 1로 숫자를 표현하는 방법 (0) 2024.05.08 [Computer Science] 컴퓨터 구조의 큰 그림 (0) 2024.05.08