티스토리 뷰

 

 

 

 

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
링크
«   2025/01   »
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
글 보관함