아스키 코드 문자를 숫자로 - aseuki kodeu munjaleul susjalo

[Java] ASCII (아스키코드)/ 문자 ↔ 숫자

아스키 코드 문자를 숫자로 - aseuki kodeu munjaleul susjalo
LILAC2020. 2. 29. 23:15

ASCII: American Standard Code for Information Interchange, 미국 정보 교환 표준 부호)

아스키 코드 문자를 숫자로 - aseuki kodeu munjaleul susjalo

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("알파벳을 입력해주세요."); char ch = sc.nextLine().charAt(0); int num = (int)ch; System.out.println(num); } }

import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); System.out.println("숫자를 입력해주세요."); int num = sc.nextInt(); char ch = (char)num; System.out.println(ch); } }

import java.util.Scanner; public class Main{ public static void main(String[] args){ char ch = 65; //A while(true){ if (ch == 91){ ch = 97; } String str = String.valueOf(ch); System.out.println(str); ch++; if(ch > 122){ break; } } } }

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z

아스키 코드 문자를 숫자로 - aseuki kodeu munjaleul susjalo

Char 형 int 형으로 변환하기

Char 형

  • C언어에서 Char형은 Character의 줄임말로 기본적으로 문자를 저장할 때 사용되는 자료형이다.
  • 해당하는 문자의 ASCII 코드 값이 정수로 저장되어있다.

ASCII 코드

아스키 코드 문자를 숫자로 - aseuki kodeu munjaleul susjalo
  • 위의 표는 아스키 코드 테이블로, 48번부터 숫자 0~9를 할당하고 있다는 것을 알 수 있다.
  • 위에서 말했듯이 Char 변수형은 이러한 아스키 코드값을 정수 형태로 저장하므로, 사칙연산이 가능하다.

Char 형 숫자를 int형으로 변환하는법

  • 숫자의 아스키 값은 48번부터 0~9를 할당하고 있으므로, char형 '1'은 정수값 49를 가진다. 
  • 따라서 0의 아스키 값인 48을 char형의 값에서 빼주면 순수한 숫자를 얻어낼 수 있다.
char c = '1';
int n = c - 48;
// n = 1
  • 위와 같은 코드는 정상적으로 작동은 하지만, 가독성면에서는 좋지 않을 수 있다. 왜냐하면 다른 개발자들이 봤을 때, 48이라는 숫자가 어디서 나온건지 이해가 가지 않을 수 있기 때문이다.
  • 아래와 같이 작성하면 보다 직관성있는 코드를 작성할 수 있다.
char c = '1';
int n = c - '0';
// n = 1

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

개발 공부 기록

취업 준비/코딩테스트

[javascript] 문자를 숫자로, 숫자를 문자로 (아스키코드)

_김도연 2021. 3. 18. 15:15

숫자를 문자로 변환

const a = String.fromCharCode(65);
console.log(a); // A

문자를 숫자로 변환

const a = "A";
console.log(a.charCodeAt(0)); // 65

안녕하세요

JAVA에서 아스키코드와 유니코드의 개념 및 char를 이용한 문자, 숫자로 변환하는 방법에 대해서 알아보겠습니다

아스키코드

미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( /ˈæski/, 아스키)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다.

아스키는 7비트 인코딩으로, 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능한 문자들로 총128개로 이루어진다. 제어 문자들은 역사적인 이유로 남아 있으며 대부분은 더 이상 사용되지 않는다. 출력 가능한 문자들은 52개의 영문 알파벳 대소문자와, 10개의 숫자, 32개의 특수 문자, 그리고 하나의 공백 문자로 이루어진다.

아스키가 널리 사용되면서 다양한 아스키 기반의 확장 인코딩들이 등장했으며, 이들을 묶어서 아스키라고 부르기도 한다. 대표적으로 7비트 인코딩을 유지한 ISO/IEC 646과, 원래 아스키 코드 앞에 비트 0을 넣어 8비트 인코딩을 만든 IBM 코드 페이지와 ISO 8859가 있다. 이 인코딩들은 언어군에 따라 같은 숫자에 서로 다른 문자가 배당된 경우가 많다.

ko.wikipedia.org/wiki/ASCII 

출처 : 위키백과 

간단하게 말하면 컴퓨터는 문자를 문자로 받아들이는 것이 아닌 숫자로 받아들입니다

문자를 숫자로 표현한 것을 아스키코드라고 합니다

하단은 아스키코드 표입니다

아스키 코드 문자를 숫자로 - aseuki kodeu munjaleul susjalo

유니코드

유니코드(영어: Unicode)는 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이며, 유니코드 협회(Unicode Consortium)가 제정한다. 또한 이 표준에는 ISO 10646 문자 집합, 문자 인코딩, 문자 정보 데이터베이스, 문자들을 다루기 위한 알고리즘 등을 포함하고 있다.

또한 유니코드의 목적은 현존하는 문자 인코딩 방법들을 모두 유니코드로 교체하려는 것이다. 기존의 인코딩들은 그 규모나 범위 면에서 한정되어 있고, 다국어 환경에서는 서로 호환되지 않는 문제점이 있었다. 유니코드가 다양한 문자 집합들을 통합하는 데 성공하면서 유니코드는 컴퓨터 소프트웨어의 국제화와 지역화에 널리 사용되게 되었으며, 비교적 최근의 기술인 XML, 자바, 그리고 최신 운영 체제 등에서도 지원하고 있다.

ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EC%BD%94%EB%93%9C

출처 : 위키백과

아스키코드는 대부분의 컴퓨터에서 범용적으로 사용하느 코드라면 유니코드는 최근 기술인 XML, 자바, 최신 운영체제에서 사용되는 코드라 할 수 있습니다

여기까지 아스키코드와 유니코드의 설명을 마쳤습니다

이어서 유니코드 문자 -> 숫자로 변환, 숫자 -> 문자로 변환하는 방법에 대해서 알아보겠습니다

public class Ascii {
	public static void main(String[] args) {	
		System.out.println("유니코드 숫자 : " + ((int) "A".charAt(0)));
		System.out.print("유니코드 문자 : " + ((char) 65));
	}
}

위의 방법을 사용해서 간단하게 문자, 숫자로 변환할 수 있습니다

이 방법을 응용하면 다양한 문제들도 간단하게 풀 수 있습니다 ㅎ

여기까지 유니코드의 문자, 숫자 변환 방법에 대해서 알아봤습니다

혹시라도 설명에 있어서 틀린 부분이 있다면 댓글 남겨주시면 감사하겠습니다

이 글이 JAVA 프로그래밍에 있어서 참고가 되셨으면 좋겠습니다