YUYANE

JAVA / 아스키코드 (백준 11654) 본문

Programming Languages/JAVA

JAVA / 아스키코드 (백준 11654)

YUYA 2020. 11. 25. 13:28

[문자 인코딩 초간단 개념 정리]

출처 : 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 외에는 아무것도 인식할 수 없는데, 어떻게 문자를 입출력하는 걸까?

비밀은 아스키코드에 있다!

 

문자를 입력 -> 숫자로 컴퓨터에 전달 -> 컴퓨터는 아스키코드에서 해당하는 문자를 전달

아스키코드에 숫자 테이블도 있는데, 문자와 숫자가 혼합되어 있는 경우를 위함

 

한국어/중국어 등 모음과 자음이 분리 되어있는 것을 아스키코드로 표현 불가능=> 유니코드 등장

 

 

[문제 풀이]

출처 : jaejong.tistory.com/12

 

[백준 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);
    }
}
Comments