*char
=> 정수지만 '문자' 의미를 나타내기 위해 사용
char : 알파벳 / 숫자 문자를 나타냄.
wchar_t : 유니코드 문자를 나타냄.
ASCII ( American Standard Code for Information Interchange )
char ch = 97;
char ch = 'a'
char ch 2 = '1'
'유니코드' ( unicode )
=> 전 세계 모든 문자에 대해 유일 코드를 부여한 것
=> 유니코드에서 가장 많은 번호를 차지하는게 한국어/중국어~ (뚥쿩웱)
=> 유니코드는 표기 방식이 여러가지가 있는데 대표적으로 UTF8 / UTF16
*UTF8
=> 알파벳, 숫자 1바이트 ( ASCII 동일한 번호 )
=> 유럽 지역의 문자는 2바이트
=> 한글, 한자 등 3바이트
장점 : 영어 권 같은 경우 데이터를 적게 쓸 수 있다.
*UTF16
=> 알파벳, 숫자, 한글, 한자 등 거의 대부분 문자 2바이트
=> 매~~우 예외적인 고대 문자만 4바이트 ( 사실상 무시해도 됨. )
장점 : 거의 대부분 고정사이즈 2바이트
*wchar_t wch = L'안';
=> 유니코드라는 것을 확실하게 하기 위해 L 을 붙여줌. ( wchar_t 로 캐스팅 )
cout << wch << endl;
=> ERROR !!
=> cout 은 char 전용..
//wchar_t wch = L'안';
//wchar_t wch = 0xc548;
wchar_t wch = 50504;
wchar_t wch = L'안'; = wchar_t wch = 0xc548;
wcout.imbue(locale("kor")); // 한국어로 인식해줘라.
wcout << wch << endl;
*Escape Sequence
=> 표기하기 애매한 애들을 표현
\t : 아스키코드9 = Tab
\n : 아스키코드 10 = LineFeed ( 한줄아래로 )
\r : 아스키코드 13 = CarriageReturn ( 커서 << )
*문자열
=> 정수 ( 1 ~ 8 바이트 ) 고정 길이로
=> 끝은 NULL ( 0 ) ( = '\0' )
char str[] = { 'h', 'e', 'l', 'l', 'o', '\0'};
cout << str << endl;
=> '마지막 에 꼭 백슬레시 0
=> '\0' 을 붙여주어야 함 => 끝을 알리는 역할
char str[] = { 'h', 'e', 'l', 'l', 'o', '\0'};
char str2[] = "HelloWorld";
wchar_t str2[] = L"HelloWorld";
cout << str << endl;
cout << str2 << endl;
본 내용은 인프런의 루키스님 강의를 듣고 정리한 내용입니다.
'프로그래밍 > C++' 카테고리의 다른 글
#17. 비교 연산과 논리 연산 (0) | 2022.07.16 |
---|---|
#16. 산술 연산 (0) | 2022.07.16 |
#14. 부동소수점 & boolean (0) | 2022.07.16 |
#13. 정수 (0) | 2022.07.16 |
#12. 스택 메모리 & 스택 프레임 ( Stack Frame ) (0) | 2022.07.15 |