ASCII (American Standard Code for Information Interchange, 미국 정보 교환 표준 부호)
아스키 코드는 1963년 미국 ANSI에서 표준화한 정보교환용 7비트 부호체계이다. 인쇄전신기(Teleprinter)[2]를 통한 전신(통신)에서 사용되기 시작했고, 8비트 컴퓨터에서도 활용되어 오늘날 문자 인코딩의 근간을 이루게 된다.
000(0x00)부터 127(0x7F)까지 총 128개의 부호가 사용된다. 1바이트를 구성하는 8비트 중에서 7비트만 쓰도록 제정된 이유는, 나머지 1비트를 통신 에러 검출을 위한 용도로 비워두었기 때문이다. Parity Bit라고 해서, 7개의 비트 중 1의 개수가 홀수면 1, 짝수면 0으로 하는 식의 패리티 비트를 붙여서, 전송 도중 신호가 변질된 것을 수신측에서 검출해낼 수 있도록 하였다. 일종의 원시적인 CRC 체크섬이라고 할 수 있다.
영문 키보드로 입력할 수 있는 모든 기호들이 할당되어 있는 가장 기본적인 부호 체계이다. 매우 단순하고 간단하기 때문에 어느 시스템에서도 적용가능하다는 장점이 있다. 8비트 컴퓨터에서는 아스키 코드에 1비트를 더해 더 많은 문자를 표현할 수 있는 여지가 생겼고, 아스키 코드에 없는 문자를 추가해 "코드페이지"를 제정하였다. IBM PC에서는 "Codepage 437"(라틴어, 음성기호, 수학기호, 괘선, 특수문자 등 추가)을 사용했고, 확장된 아스키 코드의 사실상 표준이 되었다. 이외 각 국의 언어에 따라 다양한 코드페이지가 존재하는데, 대부분 아스키 코드에 기반하여(가급적 훼손하지 않고) 제작된다.
한글 인코딩은 2바이트 이상을 써야 가능했기 때문에 아스키 코드를 건드릴 수 밖에 없었고, 초창기에는 글자 깨짐 문제가 종종 발생하였다. 코드페이지(CP949 등)를 맞춰주지 못하면 역시 글자 깨짐이 발생했고, 해외게임을 할 때 특히 그러했다. 유니코드가 제정되면서 글자 깨짐은 끝날 줄 알았지만 멀티 바이트의 엔디안 문제로 글자는 또 깨졌고, ASCII가 호환되는 UTF-8이 널리 사용되면서 글자 깨짐은 막을 내리게 된다.
ASCII와 CP437에는 CLI 인터페이스에서도 그림을 그릴 수 있게 각종 특수 문자가 존재하는데, 이를 적극적으로 활용하여 예술로 승화시킨 것을 아스키 아트라 부른다. Text only 형태의 게시판에서 자주 보였다.
아스키 코드 - 나무위키
IBM CP437 아스키 코드에는 제어 문자 자리에 Null(0x00)을 제외한 32개의 특수문자를 배당해 놓았다. 물론 그렇다고 해서 제어 문자의 기능이 없어지는 것은 아니며, 프로그램이나 글꼴에 따라서는
namu.wiki
아 위키백과 너는 왜이렇게 똑똑해서 나에게 어렵게 설명하는가...
요는 만약 내가 a를 눌렀을때 컴퓨터가 알아듣는 말로 인코딩 한다는거 아닌가... 쉽게 알려줘 제발...
문자열 => 아스키코드
String.prototype.charCodeAt()
charCodeAt() 메서드는 주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환합니다.
String.prototype.charCodeAt() - JavaScript | MDN
charCodeAt() 메서드는 주어진 인덱스에 대한 UTF-16 코드를 나타내는 0부터 65535 사이의 정수를 반환합니다.
developer.mozilla.org
'ABC'.charCodeAt(0); // returns 65
아스키코드 => 문자열
String.fromCharCode()
String.fromCharCode() 메서드는 UTF-16 코드 유닛의 시퀀스로부터 문자열을 생성해 반환합니다.
String.fromCharCode() - JavaScript | MDN
String.fromCharCode() 메서드는 UTF-16 코드 유닛의 시퀀스로부터 문자열을 생성해 반환합니다.
developer.mozilla.org
String.fromCharCode(65, 66, 67); // "ABC"
String.fromCharCode(0x2014) // "—"
String.fromCharCode(0x12014) // 숫자 '1'은 무시해서 "—"
나는 정말 가끔 썼지만 알아두면 유용하다..
'JavaScript' 카테고리의 다른 글
자바스크립트 객체 메소드 (0) | 2022.10.04 |
---|---|
자바스크립트 생성자 함수 (0) | 2022.09.28 |
배열 조합 순열 알고리즘 (0) | 2022.09.26 |
자바스크립트 replaceAt - 특정 위치 문자열 바꾸기 (0) | 2022.09.24 |
자바 스크립트 JSON (0) | 2022.09.13 |