일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 아이펠 일기
- AIFFEL 회고
- 마크다운 인라인 수식
- compile time
- 윈도우 커맨드창
- 컴파일타임
- 파이썬 문법
- PYTHON 주석 변수
- 파이썬 여러줄 문자열 변수
- Aiffel
- 파이썬 진수변환
- AIFFEL일기
- 파이썬 긴 문자열 변수
- 런타임
- 마크다운
- 리눅스
- 아이펠일기
- 아이펠
- Python
- Markdown
- 파이썬 형변환
- python 문법
- 파이썬 여러줄 주석
- 모듈 패키지 라이브러리
- AIFFEL 일기
- 마크다운 inline 수식
- 아이펠 회고
- 파이썬 주석 변수
- Today
- Total
튜토리얼에도 고난과 역경이 있다.
텍스트 데이터의 처리과정 본문
텍스트 데이터의 처리 과정
사람이 이해하는 데이터는 문자열 데이터라고 합니다. 이를 컴퓨터가 이해하도록 번역 해주는 과정을 인코딩이라고 합니다. 컴퓨터는 이진수를 이해하기 때문에 인코딩과정은 문자/숫자 등의 데이터를 이진수로 변환하는 것이라고 할 수 있습니다.
만약 이 인코딩의 과정에서 세계 각국마다 문자 인코딩하는 방법이 다르다면 어떻게 될까요? 알파벳 a를 한국은 97, 미국은 65으로 표현한다면 나라별로 데이터를 다시 인코딩을 해주는 과정이 추가되어야 하거나, 이 과정을 거치지 않으면 데이터가 다 깨져버릴 것입니다. 그렇기 때문에 변환하는 과정은 전 세계적으로 통일되어 있으며, 국제 표준 기구인 ISO(International Standards Organization)에서 전 세계 문자를 모두 표시할 수 있는 표준 코드를 제공하였습니다. 바로 유니코드 Unicode입니다.
그렇다면 html등의 웹 개발을 해보신 분이라면, UTF-8, UTF-16이라는 것을 본 적이 있으실텐데요, 이것은 무엇일까요?
사실 저는 이 UTF-8, UTF-16이 유니코드라고 착각했었습니다. 웹 개발을 배울 때, 인코딩하는 방식을 설정해주는 것이라고 배웠고, 이 과정을 텍스트를 유니코드로 바꿔주는 것이라고 이해했습니다. 여기서 제가 착각을 했었습니다.
UTF-8은 유니코드를 인코딩하는 방식입니다. 즉, 유니코드를 10101110101010등과 같이 컴퓨터가 이해할 수있는 기계어로 바꾸어 주는 것입니다. 유니코드는 글자와 코드가 1:1 매핑되어 있는 (코드표)입니다. 전세계적으로 공통되어야 하기 때문에 유니코드는 오직 한 가지 버전만 존재합니다.
다른 말로 다시 정리하면, 유니코드는 각 문자열에 대하여 1:1형식으로 대응되는 데이터이고, UTF-8 / UTF-16등은 유니코드로 정의된 텍스트를 메모리에 인코딩하는 방식 입니다.
참고사항
- 아스키코드
- https://ko.wikipedia.org/wiki/ASCII
- UTF-8과 UTF-16의 비교
- https://pickykang.tistory.com/13
용어설명
- 바이트 byte
- 컴퓨터의 기본 저장 단위
- 인코딩 encoding
- 문자열을 바이트로 변환하는 과정
- 디코딩 decoding
- 바이트를 문자열로 변환하는 과정
'나의 공부 > 기타' 카테고리의 다른 글
깃 git ) 커널에서 깃허브 시작하기 - cmd창을 이용해 로컬 git을 깃허브로 올리기 (0) | 2022.01.11 |
---|---|
Window) 윈도우 커맨드창 명령어 정리 (0) | 2022.01.06 |
가위바위보 test train data (0) | 2022.01.04 |
런타임과 컴파일타임 (0) | 2022.01.03 |
마크다운 ) 수식 작성하는 법 (0) | 2022.01.03 |