• 검색 결과가 없습니다.

002.문자 표현

N/A
N/A
Protected

Academic year: 2022

Share "002.문자 표현"

Copied!
9
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

002.문자 표현

- window programming -

이종욱

[email protected] 2015. 8

1

(2)

ASCII code, Unicode, and Multi-byte

2

• C, C++ 등을 기반으로 하는 윈도우 프로그래밍은 기본적으로 1byte(8bit)의 ASCII code character set 을 사용했다.

• 하지만, 영어권이 아닌 국가에서도 프로그래밍을 개발을 수행할 때, 해당 국가의 언어를 0~127로 표현되는 ASCII 코드로 표현이 불가능!

• 다양한 문화권의 언어를 표현하기 위하여 2byte에 언어를 표현할 수 있는 Unicode를 사용하게 됨.

• 현재는 대부분의 언어가 Unicode를 디폴트로 설정하고 Multi-byte를 추가로 제공한다

• 문제점) 기존의 ASCII 코드에 맞게 표현된 문자 코드, 함수 등과의 호환성 문제가 발생!

(3)

Default character set in VS2015 (1/2)

3

• Solution Explorer에서,

• 프로젝트 네임(first_project)에서 오른쪽 마우스 클릭

• 팝업창의 하단에서 properties 선택

(4)

Default character set in VS2015 (2/2)

4

(5)

ASCII Character set

5

• Only English 1byte!

• char test[15] = “test”;

t e s t \0

(6)

Unicode Character set

6

• Korean, English 2byte

• wchar test[15] = L“연습 test”;

\0 t \0 e \0 s \0 t \0 \0

2byte 2byte

(7)

Multi-byte character set

7

• Korean 2byte, English 1byte

• char test[15] = “연습 test”;

t e s t \0

2byte

(8)

모든 문자 집합을 지원하는 코드 작성

8

• 유니코드, 멀티바이트에 상관 없이 문자를 컴퓨터가 설정된 character set에 맞게 코드가 수행되는 자료형

을 제공

 TCHAR data type

 TCHAR를 이용하여 선언한 데이터 타입은,

 멀티바이트로 설정되었으면 코드에서 내부적으로 char로 변환

 유니코드로 설정되었으면 wchar로 변환

#include <TCHAR.H>

// 본인의 코드의 상단에 반드시 헤더를 추가함

TCHAR str[15] = _T(“연습 test”); char str[15] = “연습 test”;

wchar str[15] = L“연습 test”;

Multi-byte

Unicode // _T 는 매크로

(9)

문자열 data types

9

LPSTR char * ANSI 코드 문자열 포인터

LPCSTR Const char * ANSI 코드 문자열 포인터 상수

LPTSTR TCHAR * TCHAR 문자열 포인터

LPCTSTR Const TCHAR * TCHAR 문자열 포인터 상수

LPWSTR WCHAR * 유니코드 문자열 포인터

LPCWSTR Const WCHAR * 유니코드 문자열 포인터 상수

• LP : Long Pointer

• C : Const

• T : TCHAR

• W: WCHAR

• STR : 문자열

참고: 핵심 api로 배우는 윈도우 프로그래밍

참조

관련 문서

– 문자열에 있는 괄호를 차례대로 조사하면서 왼쪽 괄호를 만나면 스택에 삽 입하고,오른쪽 괄호를 만나면 스택에서 top 괄호를 
. 삭제한

Calculator 클래스를 사용하기 위해서는 패키지를 포함 하는 정확한 경로명을 컴파일러에게

Key words: myosin phosphatase, type 1 phosphatase, MYPT1, Rho, Rho-kinase, CPI-17, smooth muscle, Ca 2+ sensitization, cGMP-dependent

[r]

많은 고민 끝에 연구실 경험과 보건 관련 국가과제 경 험을 쌓으면서 처음부터 다시 배우자는 마음으로 최신 연구 동향과 새로운 연구방법론을 접할

In [1], Maffei proved a certain relationship between quiver varieties of type A and the geometry of partial flag varieties over the nilpotent cone. This relation was

화학량론적 계산:

• “액체가 갖는 유동성과 결정이 갖는 광학 이방성을 모두 가진 액체”라는 의미 로 Flussige Kristall이라 불렀는데 이를 영어로 명명하면 Liquid Crystal. 로 Flussige