관리 메뉴

IT journey

8일차 아스키코드 본문

끄적끄적/공통

8일차 아스키코드

step 2021. 7. 7. 21:58
728x90
반응형

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :)

아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다.

7일차 자바 실습 예제

 

7일차  자바 실습 예제

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 6일차 자바 소스 코드를 작성하는 규칙 6일차

step-journey.tistory.com

6일차 자바 소스 코드를 작성하는 규칙

 

6일차  자바 소스 코드를 작성하는 규칙

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다. 5일차 자바의 자료형(feat.생성자) 5일차 자바

step-journey.tistory.com

5일차 자바의 자료형(feat.생성자)

 

5일차 자바의 자료형(feat.생성자)

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차,3일차,4일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리

step-journey.tistory.com

4일차 자바의 클래스

 

4일차 자바의 클래스

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차,3일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고

step-journey.tistory.com

3일차

 

3일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든

step-journey.tistory.com

2일차

 

2일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 1일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든 예이니 퍼가실 때는

step-journey.tistory.com

1일차

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

JAVA - 클래스

 

JAVA - 클래스

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 클래스 ○객체를 만드는 기능을 합니다. ○ 클래스는 객체의 틀이 되는 추상적인 개념이고 객체는 클래스에 정의된 요소들의

step-journey.tistory.com

JAVA-제어문(feat.파일 입출력)

 

JAVA-제어문(feat.파일 입출력)

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ※ 참고사항 제어문에 들어가기 전, 증감연산자, 비교(관계)연산자와 논리연산자에 대해 올린 C언어-연산자 편을 참고하시면

step-journey.tistory.com

JAVA-자료형

 

JAVA-자료형

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1. print(), println(), printf() 의 차이 print() 출력 후 줄을 바꾸지 않습니다. println() 출력 후 자리를 바꿉니다. printf() printf("출력..

step-journey.tistory.com

728x90

자바 - 문자 자료형(char-기초 자료형)

어떤 문자를 컴퓨터 내부에서 표현하려면 특정 정수 값으로 정하자고 약속합니다.
예를 들어, A를 얼마로 표현할 것인지 약속하는데 이런 코드 값을 모아 둔 것을 문자 세트라고 합니다.
(1) 문자를 숫자로 바꾸는 것을 문자 인코딩이라고 합니다. 기본이 되는 것은 아스키(ASCII) 코드입니다.
최초 7비트를 선언했습니다. 

(2) ASCII 확장판(ANSI)으로 7bit(ASCII) + 1bit(다른 언어문자표현(CodePage)이 되어 1바이트(256개)로 표현이 가능해졌습니다. 그에 따라 영문자(대문자,소문자), 숫자, 특수문자 등을 나타내는 문자 세트가 있습니다.
아스키 코드를 1바이트만 사용하기 때문에, 모든 문자를 표현하기 어려웠습니다. 그래서 2바이트 이상의 사용하게 되는데, 이때 각 언어의 표준 잍코딩을 정의해 놓은 것이 유니코드(unique)입니다.
(3) 코드 값을 다시 문자로 변환 하는 것을 문자 디코딩이라고 합니다.
참고로, 기초자료형 char에서 기초자료형 int로 형변환을 하게 되면 (즉, 자동 형변환(묵시적 형변환, implicit casting))이 되게 되면 이것은 문자 인코딩으로 볼 수 있습니다.
이번엔 반대로, 기초자료형 int에서 기초자료형 char으로 형변환을 하게 되면 명시적 형변환(explicit casting)이 되게 되면 이것은 문자 디코딩으로 볼 수 있습니다.

아스키코드

미국정보교환표준부호(American Standard Code for Information Interchange)인 ASCII(아스키)는 영문 알파벳을 사용하는 대표적인 문자 인코딩입니다. 7bit, 영어문자, 숫자, 특수문자, 기호 등으로 128개의 문자입니다.
아스키코드 표는 영문자(대·소문자), 숫자, 특수기호를 2진수, 8진수, 10진수, 16진수로 표현합니다.
이 때, 전세계는 16진수로 표현합니다.
※ 참고로, 에디터플러스에 나와있는 아스키코드는 10진수(16진수), 모양 순으로 나와 있습니다.

 

아스키코드 표는 아래 링크를 참고하시면 됩니다.
ASCII - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

ASCII - 위키백과, 우리 모두의 백과사전

1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문 알파벳을 사용하는 대표적인 문자

ko.wikipedia.org

※ 참고로, 유니코드의 1바이트는 아스키 코드 값과 호환되고 그 밖의 문자를 2바이트나 그 이상의 조합으로 표현합니다.

※ 참고로, char c = 'B'로 초기화할 경우 문자를 변수에 대입하면 문자 그대로 저장되는 것이 아니라 그 문자에 해당하는 정수 값(아스키 코드) 값이 저장됩니다. 또한 B와 같은 문자와 숫자를 리터럴이라고 합니다. (리터럴이란, 데이터 값입니다. 이 때, 값은 숫자(정수,실수), 문자(문자,문자열), 논리값을 일컫는 말입니다.)

예제

String 기초변수 str 변수로 aAbB로 초기화 하여, 2진수,8진수,16진수를 찍어보는 예제를 만들어보겠습니다.

1. 1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Example4.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.

2. 아래 코드를 입력하세요.

// 1. 패키지 선언
package a.b.c.example;

// 2. 임포트 선언

//3. 클래스 선언
public class Example4
{
	// 4. 상수 선언
	// 5. 멤버변수 선언(멤버 변수, 전역변수, 클래스 변수, 전역변수, 은닉화(private)
	// 6. 생성자 선언 : 생성자 오버로딩

	// 7. 함수

	// 8.main() 함수 : 프로그램 시작점
	public static void main(String[] args) {

		
		//9. 지역변수 선언 및 초기화
		String str = "aAzZ";

		char c0 = str.charAt(0);
		System.out.println("Integer.toBinaryString(c0) => " + Integer.toBinaryString(c0));
		System.out.println("Integer.toOctalString(c0) => " + Integer.toOctalString(c0));
		System.out.println("Integer.toHexString(c0) => " + Integer.toHexString(c0));
		
		char c1 = str.charAt(1);
		System.out.println("\nInteger.toBinaryString(c1) => " + Integer.toBinaryString(c1));
		System.out.println("Integer.toOctalString(c1) => " + Integer.toOctalString(c1));
		System.out.println("Integer.toHexString(c1) => " + Integer.toHexString(c1));
		
		char c2 = str.charAt(2);
		System.out.println("\nInteger.toBinaryString(c2) => " + Integer.toBinaryString(c2));
		System.out.println("Integer.toOctalString(c2) => " + Integer.toOctalString(c2));
		System.out.println("Integer.toHexString(c2) => " + Integer.toHexString(c2));

		char c3 = str.charAt(3);
		System.out.println("\nInteger.toBinaryString(c3) => " + Integer.toBinaryString(c3));
		System.out.println("Integer.toOctalString(c3) => " + Integer.toOctalString(c3));
		System.out.println("Integer.toHexString(c3) => " + Integer.toHexString(c3));
	}
}

○ 위 코드를 간략히 설명해보자면, 문자열 String 클래스를 사용합니다. 이는 문자의 배열입니다.charAt() 함수는 문자열을 문자로 하나씩 쪼개서 받을 수 있는 함수로, 문자를 하나씩 쪼개는 것을 index라고 부릅니다. 그리고 toBinaryString 함수를 이용하면 2진수가 출력되고, toOctalString 함수를 이용하면 8진수가, toHexString 함수를 이용하면 16진수가 출력됩니다.
\n은 문자 상수로, 새로운 줄 시작을 의미합니다.


※ 참고로, 문자 상수 (여기서, d에 숫자를 입력해 표현하면 됩니다.)
\n : 새로운 줄 시작 (유니코드 : \u000a)
\t : 탭 (유니코드 : \u0009)
\b : 백스페이스 (유니코드 : \u0008)
\r : 캐리지 리턴(그 줄의 처음, 유니코드 : \u000d)
\f : Fpr,feed(프린터 종이를 다음 페이지로 , 유니코드 : \u)
\\ : 백슬러쉬(유니코드 : \u005c)
\’ : 단일 인용 부호 (유니코드 : \u0027)
\” : 복수 인용 부호 (유니코드 : \u0022)
\ddd : 8진수
\xdd : 16진수
\udddd : 유니코드 문자

3.cmd 창에서 실행하겠습니다.
이에 대한 내용은 1일차,2일차,3일차,4일차 내용에 자세히 나와있습니다.
제 파일은 어디에 저장되어 있는지 알지만 다른 사람들은 어디에 저장했는지 모르는 터라, 파일 디렉터리 찾는 것은 생략후 컴파일과 실행하는 것만 답에 기술해두었습니다.
javac -d . Example4.java
java a.b.c.example.Example4

728x90
반응형

'끄적끄적 > 공통' 카테고리의 다른 글

28일차 오라클에 기록한 내용을 JAVA에 뿌려주려면?  (2) 2021.08.04
27일차 Oracle & JDBC에 활용되는 함수  (4) 2021.08.03
끄적끄적  (0) 2021.06.30
3일차  (6) 2021.06.30
2일차  (10) 2021.06.29
Comments