아스키코드 알파벳 변환 - aseukikodeu alpabes byeonhwan

ascii코드로 영어 알파벳 출력하기 코드이다.

알파벳 대문자만 하였으며,

출력 결과는 아래와 같다.

char[] alphabets = new char[26];

forint i = 0, num = 65; i < alphabets.length; i++, num++ ) {

alphabets[i] = (char)num;

System.out.println(alphabets[i]);

}

cs

char[] alphabets = new char[26];

char ch = 'A';

forint i = 0; i < alphabets.length; i++ ) {

alphabets[i] = ch++;

System.out.println(alphabets[i]);

}

cs

두 코드 모두 A~Z까지 출력하는 코드이며,

방식을 조금 달리 해보았다.

아스키코드란?


아스키코드 정식명칭은 ASCII로 풀네임은 American Standard Code for Informaion Interchange의 약자입니다. 아스키코드가 무엇인지 검색하여 이 글을 보시는 분들은 대부분 전자공학, 전산학, 컴퓨터관련 전공을 하시는 분들이실꺼라 깊은 설명은 배제하겠습니다. 여러분들이 컴퓨터는 2진수 인 0과 1로 이루어진 것을 알 수 있을 껍니다. 중요한건 우리가 키보드에서 누르는 알파벳 하나를 예시로 듭시다.

우리는 대문자 K를 눌렀다고 칩시다. 대문자 K는 아스키코드 십진법으로 75번째, 팔진법으로 115번째, 이진법으로 1001011으로 나타낼 수 있습니다. 우리가 누른 K는 단순하게 K 가아니라 K모형을 한 이진법으로 1001011번째 있는 문자를 이야기하는겁니다.

우리가 현실의 대화에서 1001011번째 문자가 좀 써줘 라고 말하면 알아들을 수 없는듯이 컴퓨터에게 K를 써줘를 알아들을 수 없습니다. 컴퓨터한테는 1001011번째 문자좀 써줘가 우리한테 K좀 써줘랑 같은 문맥입니다. 아스키코드는 이런 미국에서 쓰는 알파벳 소문자, 대문자, 숫자, 제어문자 등을 2^7개의 표로 정리합니다. 몇개의 문자, 알파벳 소문자, 대문자, 숫자 등을 포함한 아스키코드 표는 다음과 같습니다.

아스키코드 알파벳 변환 - aseukikodeu alpabes byeonhwan

제어문자 아스키코드

아스키코드 알파벳 변환 - aseukikodeu alpabes byeonhwan

네 약자에서도 아시겠지만 미국을 위한 코드표입니다. 미국 국가표준 협회(ANSI)의 전신인 미국 표준 협회(ASA)가 주도한 X3 위원회가 개발하였습니다.

아스키코드 변환하는법

어떠한 방법이나 공식이 있는게 아니기때문에 예시를 들어봅시다. 십진법 66번째에 있는 아스키코드 문자를 알아보려면 그냥 아스키코드 표를 보고 십진법이 66번에 있는 문자를 읽으면됩니다. 십진법이 66번째에 있는 문자는 B네요.

참고로 컴공후배님들께 권고드립니다. 대문자 A와 소문자 a의 십진법 아스키코드 숫자는 알아두시길 바랍니다. A는 십진법으로 65번째, a는 십진법으로 97번째입니다. 이 두개를 알아두라한 이유는 65번째인 대문자 A를 기준으로 B는 66번째 C는 67번째로 나아가며 97번째인 소문자 a를 기준으로 b는 98번째, c는 99번째로 나아갑니다. 쉽죠?

참고로 2진법 8진법 10진법 16진법 변환법은 아래 글을 참고하세요. 프로그래밍 예시도 아래에 있습니다.

kasper1030.tistory.com/114

c언어 프로그래밍 비트연산자에 대하여 알아보자.(2진법, 8진법, 16진법, 10진법)

프로그래밍을 하다보면 여러분은 정수보다 2진수랑 더 친해져야한다. 필자의 경우는 3자리 정수정도는 암산으로 2진법으로 바꿔버린다. 일단 비트연산자로 넘어가기전에 2진법과 10진법 8진접 16

kasper1030.tistory.com

아스키코드 알파벳 변환 - aseukikodeu alpabes byeonhwan

자 그럼 팔진법으로 75번째에 있는 아스키코드 문자를 읽으라하면? 표에가서 읽으면 K임을 알 수 있습니다. 역으로 질문도 가능하겠네요. R을 2진법 8진법으로 나타내라고하면 

으로 각각 나타낼 수 있습니다.

아스키코드 활용?

아스키코드는 사실 컴공이나 전자쪽 전공하지 않는한 접하기 힘든 분야입니다. 일단 기본적으로 C언어, JAVA, 파이썬과 같은 코딩을 하시는 분들이라면 무조건 접할 것이며,

아스키코드 알파벳 변환 - aseukikodeu alpabes byeonhwan

여러분들은 아스키코드를 영화에서 보셨을 것입니다. 바로 2014년에 개봉한 마션이라는 영화가 있습니다.

아스키코드 알파벳 변환 - aseukikodeu alpabes byeonhwan

주인공 마크와트니는 화성에 갇히게되다가 지구와 교신할 수 있는 수단인 패스파인더호를 통해 처음 자신이 작성한 문장을 이미지로 보여주고, YES OR NO로 선택하게 했었지요. 이런경우는 한쪽 만 의사소통을 할 수 있기 때문에 비효율적입니다. 그렇기 떄문에 마크와트니는 패스파인터를 기준으로 16등분을하여 16진법을 표현합니다. 0 1 2 3 4 5 6 7 8 9 A B C D E F

만약 WHO ARE YOU를 아스키코드 16진법으로 전송한다고하면

W : 57

H : 48

O : 4F

A : 41

R : 52

E : 45

Y : 59

O : 4F

U : 55

즉 57484F415245594F를 전송하면됩니다. 이걸 2자리로 짜르면 16진수가 됩니다. 그렇게 되면 2진 통신만 할 수 있는 곳에서 문장으로도 대화가 가능하게됩니다. 신기하죠?