C++ 유니코드 문자열 리터럴(Unicode String Literal) 활용 방법

C++은 다양한 문자열과 타입을 지원합니다. 그리고 각 유형들을 리터럴 값으로 표현 방법들도 제시하고 있죠.

문자열 리터럴은 일련의 문자들을 표현할 수 있습니다. 큰 따옴표(“) 사이에 문자열을 입력해서 말이죠. 문자열 리터럴에는 다음과 같은 종류가 있습니다:

  • Narrow String 리터럴
  • UTF-8 encoded strings
  • Wide String 리터럴
  • char16_t와 char32_t (C++11)
  • Raw String 리터럴 (C++11)
  • std::string 리터럴 (C++14)

C++11에서는 유니코드 문자열 리터럴들을 조합할 수 있는 새로운 타입을 선보였습니다. 대표적으로 char16_t (16비트 유니코드)와 char32_t (32비트 유니코드)가 있죠. 그리고 리터럴 앞에 u8, u, U를 추가해 크기와 인코딩을 지정할 수 있게 되었죠. 대표적으로 UTF-8, UTF-16, UTF-32가 있습니다. 하지만 플랫폼을 변경하는 경우에는 런타임 변환이 필요합니다.

1
2
auto s3 = u“hello”; // const char16_t*
auto s4 = U“hello”; // const char32_t*
cs

이 외에도 유니코드 이스케이프 시퀀스(Unicode escape sequences)를 직접 사용해 인코딩 걱정없이 특정 기호를 코드화 할 수도 있습니다.

1
2
const char16_t* s16 = u“u00DA”;
const char32_t* s32 = U“u00DA”;
cs

최신 C++ 기능 활용 방법들은 엠바카데로 기술문서를 통해 확인해보세요.


12.0 13 13.0 13.1 AI C++ c++빌더 chatgpt DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX vcl WebStencils 개발 개발사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 리눅스 마이그레이션 맥 머신러닝 모바일 새버전 샘플 세미나 안드로이드 웹 윈도우 인공지능 인터베이스 출시 커뮤니티에디션 코드 클라우드 파이썬 파이어몽키 현대화