728x90
Achievement Goals
- 프로그램, 프로세스, 스레드에 대해 기본적인 개념을 설명할 수 있다.
- 동시성과 병렬성의 차이를 이해할 수 있다.
- 자바스크립트 엔진(v8)이 어떤 특징을 가지고 있는지 이해할 수 있다.
- 프로그래밍에서 문자열을 다루는 방법과 유니코드 및 인코딩에 이해할 수 있다.
유니코드
유니코드 협회(Unicode Consortium)가 제정하는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준입니다.
인코딩
어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것, 인코딩과 디코딩의 기준을 문자열 세트 또는 문자셋(charset)이라고 합니다. 이 문자셋의 국제 표준이 유니코드입니다.
ASCII
영문 알파벳을 사용하는 대표적인 문자 인코딩으로 7비트로 모든 영어 알파벳을 표현할 수 있습니다.
52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자를 포함합니다.
UTF-8 vs UTF-16
UTF-8
UTF-8은 Universal Codeed Character Set + Transformation Format-8-bit의 약자로 UTF-뒤의 숫자는 비트(bit)입니다.
1. 특징 : 가변 길이 인코딩
1 byte(8bits)에서 4 bytes까지 사용
- 원리 : 코(유니코드로 U+CF54)를 이진법으로 표시하면 1100-1111-0101-0100으로 표현
let encoder = new TextEncoder(); // 기본 인코딩은 'utf-8' encoder.encode('코') // Uint8Array(3) [236, 189, 148] (236).toString(2) // "11101100" (189).toString(2) // "10111101" (148).toString(2) // "10010100"
네트워크를 통해 전송된 텍스트는 주로 UTF-8로 인코딩 됩니다.
2. 특징: 바이트 순서가 고정됨
UTF-16에 비해 바이트 순서를 따지지 않고, 순서가 정해져 있습니다.
3. 특징: 코드 그대로 바이트로 표현 가능, 바이트 순서가 다양함
UTF-16은 유니코드 코드 대부분(U+0000부터 U+FFFF; BMP) 을 16 bits로 표현합니다.
U+ABCD라는 16진수를 있는 그대로 이진법으로 변환하면 1010-1011-1100-1101입니다.
UTF-8에서는 한글은 8 바이트, UTF-16에서는 2바이트를 차지
728x90
'백엔드 > [컴퓨터 공학] 기초' 카테고리의 다른 글
Checkpoint - 컴퓨터 공학 기초 (0) | 2021.11.26 |
---|---|
캐시 (0) | 2021.11.26 |
가비지 컬렉션 (0) | 2021.11.26 |
프로세스, 스레드, 멀티 스레드 (0) | 2021.11.25 |
그래픽 (0) | 2021.11.25 |