[참고] 아스키 코드(ASCII) & 표

jadeco·2024년 4월 27일
0

아스키 코드표 개요

아스키 코드(ASCII, American Standard Code for Information Interchange)는 문자, 숫자, 특수문자 등을 나타내는 7비트 문자 인코딩 표준입니다. 총 128개의 문자로 구성되어 있으며, 0부터 127까지의 숫자로 표현됩니다. 이 코드는 1963년 미국 표준 협회(ANSI)에 의해 표준화되었으며, 현대 컴퓨터 및 통신 기기에서 널리 사용되고 있습니다.


아스키 코드표의 구성

아스키 코드표는 다음과 같이 구성되어 있습니다

제어 문자(Control Characters): 코드 0부터 31까지의 문자로, 프린터 제어, 파일 전송 등의 용도로 사용됩니다. 예를 들어 LF(Line Feed, 코드 10)는 줄 바꿈을 의미합니다.공백 문자(Whitespace Characters): 코드 32(스페이스)와 9(탭), 13(캐리지 리턴) 등이 포함됩니다.
인쇄 가능 문자(Printable Characters): 코드 33부터 126까지의 문자로, 알파벳, 숫자, 특수 문자 등이 포함됩니다.DEL 문자(Delete): 코드 127은 삭제 문자를 나타냅니다.


아스키 코드의 활용

아스키 코드는 다음과 같이 다양하게 활용됩니다

문자 인코딩: 문자를 숫자로 표현하여 컴퓨터에서 처리할 수 있게 합니다.데이터 전송: 문자 데이터를 아스키 코드로 변환하여 전송할 수 있습니다.프로그래밍: 프로그래밍 언어에서 문자와 숫자를 구분하고 조작하는 데 사용됩니다.
파일 형식: 텍스트 파일 형식(예: .txt, .csv)은 아스키 코드를 사용합니다.


아스키 코드 확장

아스키 코드는 7비트로 표현되어 128개의 문자만 표현할 수 있어, 다국어 지원에 한계가 있습니다. 이를 해결하기 위해 다양한 확장 인코딩이 개발되었습니다

ISO-8859 계열: 라틴어 계열 언어를 지원하는 8비트 인코딩
유니코드(Unicode): 전 세계 모든 문자를 지원하는 16비트 이상의 인코딩 표준

이러한 확장 인코딩은 아스키 코드를 기반으로 하면서도 더 많은 문자를 표현할 수 있습니다.


추가 주제: 아스키 코드와 프로그래밍

아스키 코드는 프로그래밍에서 매우 중요한 역할을 합니다. 프로그래밍 언어에서는 문자와 숫자를 구분하고 조작하기 위해 아스키 코드를 사용합니다. 예를 들어 C 언어에서는 char 자료형을 사용하여 문자를 표현하고, 이 문자는 내부적으로 아스키 코드로 저장됩니다. 또한 문자와 숫자 간 변환 시에도 아스키 코드를 활용합니다.

// java
int num = 3;
char sam;

sam = num;
printf("%c", num); // 문자 변수에 3을 넣고 출력하면 
			       //문자 3이 아닌 아스키코드 3에 해당하는 ETX를 부릅니다.

sam = num + 48; // 숫자에 48을 추가해 주면 해당 숫자 아스키 값이 구해짐
printf("%c", num); // 저장해 두고 출력 시에는 
				   // 아스키 51에 해당하는 숫자 3이 문자 c로 출력

활용법

// 대문자 아스키코드가 A-Z(65-90)이고 소문자 아스키코드가 a-z(97-122)
char c = 'a';
c = c - 32;
printf("%c", c);
// 대문자를 소문자로 바꿀 때는 A-32를 해주면 a가 됨

참고) 아스키코드 표

10진수16진수문자10진수16진수문자10진수16진수문자10진수16진수문자
00x00NUL320x20Space640x40@960x60`
10x01SOH330x21!650x41A970x61a
20x02STX340x22"660x42B980x62b
30x03ETX350x23#670x43C990x63c
40x04EOT360x24$680x44D1000x64d
50x05ENQ370x25%690x45E1010x65e
60x06ACK380x26&700x46F1020x66f
70x07BEL390x27'710x47G1030x67g
80x08BS400x28(720x48H1040x68h
90x09TAB410x29)730x49I1050x69i
100x0ALF420x2A*740x4AJ1060x6Aj
110x0BVT430x2B+750x4BK1070x6Bk
120x0CFF440x2C,760x4CL1080x6Cl
130x0DCR450x2D-770x4DM1090x6Dm
140x0ESO460x2E.780x4EN1100x6En
150x0FSI470x2F/790x4FO1110x6Fo
160x10DLE480x300800x50P1120x70p
170x11DC1490x311810x51Q1130x71q
180x12DC2500x322820x52R1140x72r
190x13DC3510x333830x53S1150x73s
200x14DC4520x344840x54T1160x74t
210x15NAK530x355850x55U1170x75u
220x16SYN540x366860x56V1180x76v
230x17ETB550x377870x57W1190x77w
240x18CAN560x388880x58X1200x78x
250x19EM570x399890x59Y1210x79y
260x1ASUB580x3A:900x5AZ1220x7Az
270x1BESC590x3B;910x5B[1230x7B{
280x1CFS600x3C<920x5C\ 1240x7C
290x1DGS610x3D=930x5D]1250x7D}
300x1ERS620x3E>940x5E^1260x7E~
310x1FUS630x3F?950x5F_1270x7FDEL
profile
당신도요

0개의 댓글