✏ 유니코드
✔ 전세계 모든 문자에 대해 유일한 코드를 부여한 것이다. 한국어, 중국어가 가장 많은 번호를 차지한다.
✔ 여러가지 표기 방식이 있는데, 대표적으로 UTF8과 UTF16이 있다.
✏ UTF8
✔ 알파벳, 숫자 1바이트 (ASCII Code와 동일한 번호)
✔ 유럽 지역의 문자 2바이트
✔ 한글, 한자 등 아시아 국가 문자 3바이트
✏ UTF16
✔ 거의 대부분의 문자 2바이트 고정
✔ 아주 예외적인 고대 문자만 4바이트 (무시해도 될 정도로 드물다)
✔ 대부분의 문자의 사이즈가 2바이트로 고정이기 때문에, 아시아 국가에 서비스할때는 이 방식을 사용하기도 한다.
wchar_t a = L'가';
int main()
{
wcout.imbue(locale("kor"));
wcout << a << endl; //가 출력
}
유니코드를 출력하는 코드이다.
wchar_t (wide character이라는 뜻) 를 사용해서 변수 a가 유니코드 문자임을 나타낸다. ' '를 사용하면 멀티바이트로 동작하기 때문에 L을 사용해 유니코드임을 나타낸다.
한글을 인식하지 못하기 때문에 wcout.imbue(locale("kor"))으로 한글을 인식하도록 한다.
wcout을 사용해 유니코드를 출력한다.
✏ Escape Sequence
✔ 프로그래밍 언어로 표현할 수 없는 기능과 문자를 표현해준다.
✔ \t = 아스키코드 9 = Tab, \n = 아스키코드10 = Linefeed (한줄 아래로), \r = 아스키코드 13 = CarriageReturn (커서 <<) 등등 다양한 기능을 제공한다.
✔ \00 아스키 코드로 NULL이라는 뜻.
✏ 문자열
✔ 문자들이 열을 지어서 모여있는 것을 뜻한다.
✔ 정수는 1~8byte로, 고정된 길이로 저장되지만, 문자열은 가변적이다. 그러므로 컴퓨터가 문자열의 끝을 인식하기 위해서는 Escape Sequence 중 하나인 \00이나 \0이 꼭 들어가있어야 한다.
char str[] = { 'h','e','l','l','o','\00'};
//\0 혹은 \00을 붙여야 끝임을 인식하고 끝낸다.
char str2[] = "Hello World";
//11개의 문자이지만 \0까지 자동으로 포함되어서 마우스 커서를 갖다대면 12개의 문자로 뜬다.
'컴퓨터 언어 > C++' 카테고리의 다른 글
진수 입력 및 출력 (0) | 2023.06.21 |
---|---|
precision, fixed 함수 (0) | 2023.04.24 |
srand(time(0)) (0) | 2023.03.22 |
Enum (0) | 2023.03.22 |
데이터 연산 (0) | 2022.11.18 |