Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

우주코딩

유니코드, 문자 집합, 문자 코드, 이스케이프 문자 본문

자바 기초 강의

유니코드, 문자 집합, 문자 코드, 이스케이프 문자

우주코딩 2021. 7. 6. 19:20

*자바로 문자 출력하기
자바는 '유니코드(UTF-16BE; UCS2)' 라는 문자집합을 사용한다.
\ u 뒤에 문자에 부여된 코드 값을 16진수로 적는다.
u는 소문자로 적어야 한다.

\ 바로 뒤에 8진수로 적을 수 있다.
단, 0 ~ 377 범위의 8진수만 가능하다.

 

System.out.println('\101'); // A
System.out.println('\122'); // R
System.out.println('\377'); // ÿ
System.out.println('\477'); // 컴파일 오류!

 

유니코드 값을 직접 적는 경우는
보통 키보드로 문자를 직접 입력할 수 없을 때이다.

 

System.out.println('\u4eba'); // 사람을 뜻하는 '인(人)'이라는 한자의 문자 코드
System.out.println('\u00a9'); // copyright를 뜻하는 '©' 문자 코드
System.out.println('\u03c0'); // 수학의 파이 기호 'π'
System.out.println('\u03a3'); // 수학의 시그마 기호 'Σ'

 

*문자의 리터럴 - 문자 집합(character set)
자바는 문자를 다룰 때 2바이트 값으로 다룬다
자바가 사용하는 문자 집합은 '유니코드(Unicode)'이다

 

유니코드
전 세계의 모든 문자를 컴퓨터에서 일관되게 처리할 목적으로 정의된 산업 표준 규칙이다.
유니코드는 '문자를 2진수로 표현(인코딩; encoding)'할 때, 두 가지 방식(UTF와 UCS)을 사용한다.
자바는 메모리에 문자를 저장할 때는 'UCS(국제 문제 집합)'를 사용하고, 외부로 입출력 할 때는 'UTF'를 사용한다.

 

* 'A' 출력하기
println()에 전달하는 값이 일반적인 수가 아니라 문자 코드임을 지정해야 한다.
숫자 앞에 (char) 를 붙여 이 숫자가 평범한 숫자가 아니라 문자의 UCS-2 코드 값임을 알려줘라.
(char)문자코드


System.out.println((char)65);

 

보통 문자 코드를 표현할 때 16진수를 사용한다.

 

System.out.println((char)0x41);

 

 

*문자의 리터럴 - 작은따옴표('')와 문자 코드
문자 리터럴을 표현할 때 사용하는 작은 따옴표는 문자의 코드 값을 알려주는 도구이다.

유니코드를 직접 넘겨주기
단, 유니코드임을 알려주기 위해 (char)를 앞에 붙인다.

 

System.out.println((char)65); //A

 

작은 따옴표를 사용하여 문자 코드를 넘겨주기
(char)붙일 필요가 없다.

 

System.out.println('A'); // 65

 

*이스케이프 문자
화면에 출력하는 문자가 아니라 문자 출력을 제어하는 문자이다.
제어 문자
\n - Line Feed(LF), 0x0a
\r - Carrage Return(CR), 0x0d
\f - Form Feed, 0x0c
\t - Tab, 0x09
\b - Backspace, 0x08
\' - Single Quote, 0x27
\" - Double Quote, 0x22
\\ - Backslash, 0x5c

 

*줄바꿈과 코드 값
\r - Carrage Return(CR), 0x0d
커서를 맨 처음으로 돌리는 문자
하지만 이 코드는 이클립스로 실행할 시 줄바꿈으로 인식한다.
명령창에서 실행하면 커서를 맨 앞으로 옮긴다.

편집기
ABC
abc
가각간

코드 값
41 42 43 0D 0A 61 62 63
A B C 엔터 뉴라인 가각간

편집기에 엔터가 있으면 0D 0A 코드가 자동으로 삽입된다,

Comments