2021년 9월 9일에 작성된 문서 1번 입니다.
Computer Science 배운 내용을 정리했습니다.
유니코드에 포함되는 것들
유니코드 목적 : 현존 문자 인코딩 방법을 모두 유니코드로 교체
유니코드 포함 | 개수 |
---|---|
영문 알파벳 대소문자 | 52개 |
숫자 | 10개 |
특수 문자 | 32개 |
공백 문자 | 1개 |
예를 들어,
코
라는 문자의 유니코드는U+CF54
(16진수, HEX)로 표현됩니다. 이 문자를 이진법(binary number)으로 표시하면,1100-1111-0101-0100
이 됩니다. 이 문자를 UTF-8로 표현하면, 다음과 같이 3byte 의 결과로 표현됩니다.
// UTF-8로 표현된 '코'
1110xxxx 10xxxxxx 10xxxxxx // x 안에 순서대로 값을 채워넣는다.
11101100 10111101 10010100
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로 표현할 수 있다.
b
라는 문자를 UTF-8로 인코딩한 결과입니다.
0xxxxxxx
01100010
//UTF-8로 표현된 'b'
encoder.encode('b') // Uint8Array [98]
(98).toString(2) // "1100010"
//'b'라는 문자를 UTF-8로 표현할 수 있다.
U+ABCD라는 16진수를 있는 그대로 이진법으로 변환하면
1010-1011-1100-1101
입니다. 이 이진법으로 표현된 문자를 16 bits(2 bytes)로 그대로 사용하며, 바이트 순서(엔디언)에 따라 UTF-16의 종류도 달라집니다.
Written with StackEdit.