JAVA / 아스키코드 (백준 11654)
[문자 인코딩 초간단 개념 정리]
출처 : www.youtube.com/watch?v=ABPOjjre0C8&t=390s
문자표(Character Set)
- 컴퓨터 처음 등장했을 땐 문자보다는 수학적 계산을 용도로 쓰임
- 사람이 읽으려면 문자로 나타내야 하는데
- 예를 들어 프린터 등의 기계
- 각 기계마다 숫자와 문자를 연결해놓았는데,
- 기계마다 가지고 있는 매칭이 달라서
- 국제 표준을 만듦
=> 아스키 코드표
1) 아스키 코드표
- 영어 밖에 없음
- 문제 발생 : 영어권 아닌 나라에서도 컴퓨터 사용
- 초기와 달리 엔지니어들이 많음
- 표준들이 너무 많음
- 너무 많은 표준이 있으니 혼란스럽다.
- 하나로 통합하자
=> 유니코드
2) 유니코드
- 영어를 표현 할 땐 1바이트/ 한글은 2바이트 등 가변적인 표현 발생
- 컴퓨터 입장에서 헷갈림
- 그래서 바이트 앞에 몇 바이트로 읽으라는 표시를 함(약속)
=> 인코딩(UTF-8, UTF-16 등 여러가지 방법이 있다.)
[문자를 처리하는 프로그래밍 원리 | 아스키코드의 비밀]
출처 : www.youtube.com/watch?v=apZFcOfAr5w
바이트 : 컴퓨터가 데이터를 저장하는 최소 단위
컴퓨터는 0과 1 외에는 아무것도 인식할 수 없는데, 어떻게 문자를 입출력하는 걸까?
비밀은 아스키코드에 있다!
문자를 입력 -> 숫자로 컴퓨터에 전달 -> 컴퓨터는 아스키코드에서 해당하는 문자를 전달
아스키코드에 숫자 테이블도 있는데, 문자와 숫자가 혼합되어 있는 경우를 위함
한국어/중국어 등 모음과 자음이 분리 되어있는 것을 아스키코드로 표현 불가능=> 유니코드 등장
[문제 풀이]
[백준 11654] 문자열 '아스키코드' - 자바 (java)
아스키코드 <문제풀러 가기> 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 알
jaejong.tistory.com
import java.util.Scanner;
public class _11654 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String read = scanner.next();
int ascii = read.charAt(0);
System.out.println(ascii);
}
}