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