티스토리 뷰
charater set - 문자와 문자를 1:1 매핑한 코드의 조합(?)
encoding - 이 charater set의 코드들을 어떻게 표현할 것인가
charater set에는 ASCII, unicode
encoding에는 UTF-8이 포함됩니다.
ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩입니다.
7bit 범위까지 문자의 종류를 표현할 수 있습니다. (128개)
알파벳 'A'가 이진법, 팔진법, 십진법.. 등등에 1:1 매핑되어있습니다.
'A'는 65(십진법)로 매핑이 되어있습니다.
rl.on("line", (line) => {
if(line === 'bye') rl.close();
convertUnicode(line);
});
const convertUnicode = function(data) {
for(let i = 0 ; i < data.length; i++) {
console.log(data.charCodeAt(i));
}
}
위는 Javascript 코드입니다.
해당 코드는 문자열을 모두 ASCII(unicode)로 변환해주며
A를 대입시 65가 나옵니다.
하지만 ASCII는 영문 알파벳과 특수문자 정도만 지원을 하여 표에 없는 문자는 깨지고 맙니다.
이제 더 많은 문자를 지원하는 charater set이 있습니다.
unicode :유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이며
2021년 기준으로 약 14만 개의 문자를 지원해줍니다.
(unicode가 2byte 범위까지 표현을 할 수 있다고 하지만 2byte는 약 65536개인데
14만 개면은 많이 부족하네요 위 2byte는 과거에 이미 깨졌다고 합니다!)
UTF-8는 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나입니다.
유니코드 하나의 문자를 나타내기 위하여 1 ~ 4byte를 사용합니다.
U+0000부터 U+007 F범위의 ASCII charater set범위의 문자들은
1byte만으로 표현할 수 있으며 그 외 문자들은 4byte 내로 가변적으로 표현할 수 있게 됩니다.
'CS' 카테고리의 다른 글
OSI 3계층 IPv4 프로토콜 헤더의 구조 (0) | 2022.06.09 |
---|---|
OSI 3계층 ARP 프로토콜 헤더의 구조 (0) | 2022.06.07 |
네트워크, 인터넷, DNS, TCP/IP계층 (0) | 2022.06.04 |
사이드 프로젝트를 마치며 (0) | 2022.06.02 |
DB 격리수준 (0) | 2022.03.19 |
- Total
- Today
- Yesterday
- 관계설정
- 개발자채용
- 알고리즘
- 백준 제로
- JDK8
- 자사서비스
- 문제
- jre
- JPA
- 스타트업
- JDK
- ㅃ
- boot 일대다
- jdk11
- 자바
- 백준 제로 자바
- mappedby
- 백준
- springboot
- jre11
- jvm
- 프로그래머
- boot
- Spring
- 백엔드
- 코딩테스트
- 다대일
- jre8
- 스택
- java8
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |